考慮下面的代碼:SqlCommand的參數不能正常工作
SqlConnection conn = new SqlConnection(@"connection string");
SqlCommand ourCommand = new SqlCommand(String.Format(
@"SELECT Field1,Field2,Field3 FROM Tbl WHERE Field1 LIKE '@FL1'"), conn);
ourCommand.CommandTimeout = 6000;
ourCommand.Parameters.AddWithValue("@FL1", TextBox1.Text);
SqlDataAdapter adapter = new SqlDataAdapter(ourCommand);
DataTable dt = new DataTable();
conn.Open();
adapter.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
的問題是,datatable
是空 - 這意味着產生要麼沒有執行或不正確的查詢命令。我錯過了什麼?連接和查詢有效。不帶參數的命令也起作用。數據庫引擎是SQL Server 2008 R2
嘗試「@ FL1」去除周圍的參數單引號 - > @ FL1 – 2012-08-02 14:43:47
不要運行相同的查詢時,你得到的結果(手動從SQL Management Studio中添加參數的值)? – 2012-08-02 14:44:05
你從TextBox1.Text傳遞了什麼數據?是否像「%sometext%」?即如果你用相同的參數自己執行查詢(例如在SSMS中) - 是否返回結果? – 2012-08-02 14:44:20