Sus*_*san 7 c# sql asp.net stored-procedures
我使用存储过程填充表.该表允许名称的中间首字母'null',但我收到以下错误消息:
过程或函数'uspInsertPersonalAccountApplication'需要参数'@MiddleInitial',它未提供.
提前致谢!
public void ProcessForm(string[] InputData)
{
string ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["AssociatedBankConnectionString"].ToString();
SqlConnection conn = new SqlConnection(ConnString);
SqlCommand cmd = new SqlCommand("uspInsertPersonalAccountApplication", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@AccountType", "Savings");
cmd.Parameters.AddWithValue("@AccountSubType", "Savings");
cmd.Parameters.AddWithValue("@ExistingCustomer","No");
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
Run Code Online (Sandbox Code Playgroud)
您可以添加到项目并使用以下扩展方法:
public static SqlParameter AddWithValueSafe(this SqlParameterCollection parameters, string parameterName, object value)
{
return parameters.AddWithValue(parameterName, value ?? DBNull.Value);
}
Run Code Online (Sandbox Code Playgroud)
这里有两个选项:
修改您的存储过程并使@MiddleInitial参数可选(当前不是可选的,这就是抛出错误的原因)
@MiddleInitial nvarchar(10) = NULL
Run Code Online (Sandbox Code Playgroud)
或者将以下行添加到您的代码中:
cmd.Parameters.AddWithValue("@MiddleInitial", null);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12370 次 |
最近记录: |