BindingSource bs = new BindingSource();
bs.DataSource = dataGridViewShowPeople.DataSource;
bs.Filter = " Convert(ID, 'System.String') like '" + textBoxId.Text + "%' AND Convert(lastName, 'System.String') like '%" + textBoxLastName.Text + "%' AND Convert(firstName, 'System.String') like '" + textBoxFirstName.Text + "%' AND Convert(address, 'System.String') like '" + textBoxAddress.Text + "%'";
dataGridViewShowPeople.DataSource = bs;
-1
A
回答
0
bs.Filter = " Convert(ID, 'System.String') like '%" + textBoxId.Text + "%' AND Convert(lastName, 'System.String') like '%" + textBoxLastName.Text + "%' AND Convert(firstName, 'System.String') like '%" + textBoxFirstName.Text + "%' AND Convert(address, 'System.String') like '%" + textBoxAddress.Text + "%'";
你錯過了一些類似的地方%
+0
沒有問題, – user2506894
1
有可能是在一個或一個以上的單引號你的文本框。這可能會破壞字符串連接邏輯並混淆嘗試應用Filter屬性的代碼。
你需要調用string.Replace
方法作爲DataColumn.Expression財產
User-defined values may be used within expressions to be compared with column values. String values should be enclosed within single quotation marks (and each single quotation character in a string value has to be escaped by prepending it with another single quotation character). .....
但是我發現可疑調用轉換功能,至少在領域firstName
在MSDN解釋每一個引號字符的文本框的值內翻番,lastName
和address
。這很可能是他們已經在數據庫端的字符串,所以沒有必要調用CONVERT函數
string ID = textBoxId.Text.Replace("'", "''");
string last = textBoxLastName.Text.Replace("'","''");
string first = textBoxFirstName.Text.Replace("'", "''");
string address = textBoxAddress.Text.Replace("'", "''");
BindingSource bs = new BindingSource();
bs.DataSource = dataGridViewShowPeople.DataSource;
bs.Filter = string.Format("Convert(ID, 'System.String') like '{0}%' AND " +
"lastName like '%{1}%' AND firstName like '{2}%' AND " +
"address like '{2}%'", ID, last, first, address);
相關問題
- 1. 語法錯誤(缺少操作員) - ASP.NET
- 2. 語法錯誤(缺少操作員)
- 3. 語法錯誤(缺少操作員)
- 4. 語法錯誤(缺少操作員)
- 5. 語法錯誤(缺少操作員)
- 6. 語法錯誤(缺少操作符)
- 7. 缺少操作數錯誤
- 8. 錯誤:運營商「&&」無權操作
- 9. 語法錯誤:在'And'運算符之前缺少操作數
- 10. 當我運行程序我得到這個錯誤[ERR] ORA-24344:與編譯錯誤缺少關鍵字
- 11. 語法錯誤:缺少操作數之前「=」操作
- 12. 語法錯誤(缺少運營商)兩個用戶在登錄表單
- 13. 語法錯誤=〜運營商msysgit慶典
- 14. 我得到這個錯誤解析錯誤:語法錯誤,意想不到的 '['
- 15. 顯示我的運營商錯誤
- 16. 錯誤與運營商<超載,非法操作數
- 17. 我得到這個錯誤
- 18. MS-訪問:語法錯誤缺少運營商在查詢表達式:
- 19. 錯誤C2143:語法錯誤:缺少';' 'if'
- 20. 錯誤C2143:語法錯誤:缺少';'
- 21. 錯誤C2146:語法錯誤:缺少';'
- 22. 錯誤C2143:語法錯誤:缺少';'在'^'
- 23. RethinkDB錯誤:語法錯誤:缺少)後的參數列表
- 24. SQL語法錯誤:缺少運算符
- 25. SQL:語法錯誤(缺少運算符)
- 26. BASH語法錯誤 - [:缺少']」
- 27. 缺少語法錯誤; *前
- 28. JavaScript - 缺少語法錯誤
- 29. 缺少運營商
- 30. 語法錯誤:缺少)後cart.js
讓我猜。一個或多個文本框的文本中有單引號? – Steve
轉換(地址,'System.String')像'「+ textBoxAddress.Text.Replace(@」'「,」''「)+」%'「 – user2506894
是的,可以工作 – Steve