2011-03-10 115 views
0

代碼:與添加查詢參數的問題

com.CommandText = "select username, pass from Employees where lastName like '@Last' and firstName like '@First'"; 
com.Parameters.AddWithValue("@Last", lastName); // lastName is a method argument 

SqlParameter param = new SqlParameter(); 
param.ParameterName = "@First"; 
param.Value = firstName; 
com.Parameters.Add(param); 

不管我做什麼,參數沒有插入。是什麼賦予了?

+2

會發生什麼,你得到一個例外?如果是這樣,什麼是例外? – CodingGorilla 2011-03-10 19:11:45

+0

正如我所說的,參數沒有插入;該字符串具有文字@Last和@First。 – 2011-03-10 19:17:04

+0

您是否使用Sql profiler查看發送到服務器的命令?你如何確定「該字符串的文字是@Last和@First」?這是什麼意思? – 2011-03-10 20:46:37

回答

4

不要把單引號放在你的參數中,這些都是隱含的。

而且,嘗試使用SqlCommand.CreateParameter還有:

com.CommandText = "select username, pass from Employees where lastName like @Last and firstName like @First"; 
com.Parameters.AddWithValue("@Last", lastName); // lastName is a method argument 

SqlParameter param = com.CreateParameter(); 
param.ParameterName = "@First"; 
param.Value = firstName; 
com.Parameters.Add(param); 
2

試圖改變 '@Last' 到@Last,對於第一次同樣的事情...

+0

之前試過了,還是沒有工作。 – 2011-03-10 19:15:41

+0

你如何執行命令? – THEn 2011-03-10 19:53:11

+0

myDataAdapter.SelectCommand.Parameters.Add(「@ Last」,SqlDbType.VarChar,80).Value = firstName – THEn 2011-03-10 20:02:11