我在將參數傳遞給SqlCommand
的SQL字符串時遇到問題。當我使用選項1(見下文)時,代碼起作用。當我使用選項2時,它不起作用。我不知道如何讓.AddWithValue
方法與SqlCommand
一起使用。將參數傳遞給SqlCommand的問題
任何幫助,將不勝感激!
private string [] GetOrderInfo (string folder)
{
string [] order = new string [] { "date", "order#", "storeid", "storename", "username" };
using (SqlConnection conn = new SqlConnection (_connectionString))
{
conn.Open();
// Option 1: this line works.
//string sql = "select * from OrderProduct where OrderProductID=26846";
// Option 2: this line doesn't work.
string sql = "select * from OrderProduct where [email protected];";
using (SqlCommand command = new SqlCommand (sql, conn))
{
command.Parameters.AddWithValue ("@folder", folder);
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
order [1] = Convert.ToString (reader.GetInt32 (1));
}
}
conn.Close();
} // using (SqlConnection conn = new SqlConnection (connectionString))
return order;
}
在「選項1」你要指定的東西,實際上看起來像一個產品ID:26846.在「選項2」,你分配一個名爲'folder'字符串。這似乎沒有道理...... –
「它不起作用」的意思是準確的。 – JBrooks
該文件夾和OrderProductID是相同的東西。 OrderProductID是數據庫表中的字段名稱,也是爲訂單創建的文件夾的名稱。我沒有這樣設置它,它是由構建該應用程序的公司完成的。 – UltraJ