C# sql server返回long.parse显示错误
我当前的问题是SQL server。我正在编写自己的查询,其中一个查询是针对表中的C# sql server返回long.parse显示错误,c#,sql,.net,sql-server,ado.net,C#,Sql,.net,Sql Server,Ado.net,我当前的问题是SQL server。我正在编写自己的查询,其中一个查询是针对表中的INSERT数据。这很容易做到。不容易的是我在测试期间收到的错误。我只是中断了每个步骤,所有的工作都很好,除了最后的结果 长时间的问题是什么?因为当我使用bool时,它工作得很好,但我需要使用long 现在让我们看看我的内部代码: public long Create(TPerson person) { using (SqlConnection connection = new SqlConnection(
INSERT
数据。这很容易做到。不容易的是我在测试期间收到的错误。我只是中断了每个步骤,所有的工作都很好,除了最后的结果
长时间的问题是什么?因为当我使用bool
时,它工作得很好,但我需要使用long
现在让我们看看我的内部代码:
public long Create(TPerson person)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
var insert = string.Format(@"INSERT INTO CisOsoba(Jmeno, Prijmeni, Email, TelKlapka, TelKlapka2, TelMob)
VALUES(@jmeno, @prijmeni, @email, @telKlapka, @telKlapka2, @telMob)");
connection.Open();
SqlCommand cmd = new SqlCommand(insert, connection);
cmd.Parameters.AddWithValue("@jmeno", person.FirstName);
cmd.Parameters.AddWithValue("@prijmeni", person.LastName);
cmd.Parameters.AddWithValue("@email", person.Email);
cmd.Parameters.AddWithValue("@telKlapka", person.Phone1);
cmd.Parameters.AddWithValue("@telKlapka2", person.Phone2);
cmd.Parameters.AddWithValue("@telMob", person.PhoneMob);
return long.Parse(cmd.ExecuteScalar().ToString());
}
}
当我在第行有断点时:返回long.Parse(cmd.ExecuteScalar().ToString())代码>和我跳入,有一个错误:
“类型为'System.NullReferenceException'的未处理异常”
在Business.WeighingSystem.dll中发生
其他信息:对象引用未设置为
对象。”
我真的不知道,什么对象我不必设置实例
谢谢你的每一个提示!:) 您似乎试图返回受命令影响的行数。在这种情况下,您需要改为使用:
基于:
对于UPDATE、INSERT和DELETE语句,返回值是受命令影响的行数。当插入或更新的表上存在触发器时,返回值包括受插入或更新操作影响的行数以及受触发器影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,则返回值也是-1
结果集中第一行的第一列,如果结果集为空,则为空引用(在Visual Basic中为Nothing)-可能与要返回的值重复?根据签名,我希望返回刚刚创建的人的ID,但是到目前为止,您得到的答案将给您一个不同的号码;在插入查询中选择IDENT_CURRENT()
?谢谢。它工作起来很有魅力!你是天才:)
return long.Parse(cmd.ExecuteNonQuery());