2014-10-01 49 views
0

這是一個奇怪的一個我。無法的SqlParameter添加到SqlCommand的

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' is a 'type', which is not valid in the given context

回答

3

你應該使用SqlDbType枚舉,而不是SqlTypes那麼,是這樣的:

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

您正在查看的簽名是Add(string,SqlDbType),這不是SqlType。你在那裏使用了錯誤的類型。您應該使用SqlDbType

或者像克里斯托提到的,你可以給它的價值,並把它搞清楚這些事情。

3

您要添加a SqlType(這僅僅是一個類型),但the Add method預計a SqlDbType(這是一個枚舉):

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

的解釋好,謝謝。我想我盯着屏幕太久了! – JohnnyBizzle 2014-10-01 16:33:53