无法将SqlParameter添加到SqlCommand

时间:2014-10-01 16:10:47

标签: c# sql sql-server ado.net

这对我来说很奇怪。

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'是'type',在给定的上下文中无效

3 个答案:

答案 0 :(得分:3)

您应该使用SqlDbType枚举,而不是SqlTypes,例如:

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

答案 1 :(得分:3)

您要添加a SqlType(这只是一种类型),但the Add method需要a SqlDbType(这是一个枚举):

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

答案 2 :(得分:1)

您正在查看的签名是Add(string,SqlDbType),这不是SqlType。你在那里使用了错误的类型。您应该使用SqlDbType

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