必须声明标量变量异常

use*_*596 -4 sql c#-4.0

我正在使用:

string insertQ = "insert into Customer(Name, CNIC, Address, Balance) values(@name, @cnic, @address, @balance); SELECT CAST(scope_identity() AS int);";

SqlCommand insertCmd1 = new SqlCommand(insertQ, con);

Int32 newId = (Int32)insertCmd1.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

"必须声明标量变量"

异常即将来临ExecuteScalar.

请告诉我如何解决它...

Mat*_*ten 5

您需要传入参数的值:

string insertQ = "insert into Customer(Name, CNIC, Address, Balance) values(@name, @cnic, @address, @balance); SELECT CAST(scope_identity() AS int);";

SqlCommand insertCmd1 = new SqlCommand(insertQ, con); 
insertCmd.Parameters.Add("name", SqlDbType.VarChar).Value = "name";     
insertCmd.Parameters.Add("cnic", SqlDbType.VarChar).Value = "cnic"; 
insertCmd.Parameters.Add("address", SqlDbType.VarChar).Value = "address";     
insertCmd.Parameters.Add("balance", SqlDbType.VarChar).Value = "balance"; 


Int32 newId = (Int32)insertCmd1.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

SqlDbType小号必须的方案相匹配.