无法将SqlParameter添加到SqlCommand

本文关键字:SqlCommand 添加 SqlParameter | 更新日期: 2023-09-27 18:25:18

这对我来说很奇怪。

Add参数方法的签名需要SqlType,但当我使用时

//Create and open a connection to SQL Server 
SqlConnection connection = new SqlConnection(DatabaseHelper.ConnectionString);
connection.Open();
//Create a Command object
SqlCommand command = new SqlCommand( "stpInsertFile", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.Add("@LastMod", System.Data.SqlTypes.SqlDateTime);

它显示了这个错误:

"System.Data.SqlTypes.SqlDateTime"是一个"类型",在给定的上下文中无效

无法将SqlParameter添加到SqlCommand

您应该使用SqlDbType枚举,而不是SqlTypes,所以,类似于:

command.Parameters.Add("@LastMod", SqlDbType.DateTime);

您正在添加一个SqlType(它只是一个类型),但Add方法需要一个SqlDbType(它是一个枚举):

command.Parameters.Add("@LastMod", System.Data.SqlDbType.DateTime);

您要查看的签名是Add(字符串,SqlDbType),而不是SqlType。你用错字了。您应该使用SqlDbType

或者,正如克里斯托斯所提到的,你可以赋予它价值,让它解决问题。