sql查询的问题(不拾取参数)
本文关键字:参数 查询 问题 sql | 更新日期: 2023-09-27 17:50:56
我有以下代码在c# sql insert:
using (DM dbManager = new DM())
{
dbManager.Command.CommandText = @"Insert into TransactionLog(TransactionNumber,Amount
,studentID) Values (@trnumber,@amount,@studentID) ; SELECT SCOPE_IDENTITY() ;";
dbManager.Command.Parameters.AddWithValue("@trnumber", txnref);
dbManager.Command.Parameters.AddWithValue("@amount", amount);
dbManager.Command.Parameters.AddWithValue("@studentID",
Membership.GetUser().ProviderUserKey.ToString());
id = Convert.ToInt32(dbManager.Command.ExecuteScalar());
}
但不明白为什么我得到这个错误:
System.Data.SqlClient.SqlException: The parameterized query '(@trnumber
nvarchar(4000),@amount nvarchar(5),@studentID nvarcha' expects the
parameter '@trnumber', which was not supplied.
因为参数在查询中很明显,所以我尝试更改参数的名称。
有什么建议吗?
if (String.IsNullOrEmpty(txnref))
{
command.Parameters.AddWithValue("@trnumber", DBNull.Value);
}
else
command.Parameters.AddWithValue("@trnumber", txnref);
尝试将DBNull.Value
如果值为空,它将工作!还要检查列是否接受NULL