2014-01-15 38 views
-1

我真的C#我真的想使用此代碼在SQLite表來搜索號碼搜索名稱在SQLite表

String insSQL2 = "select * from Produtos where nome =" + txtBuscaNome.Text; 

但是當我嘗試用它來搜索名字我得到一個錯誤。爲什麼?

我得到的錯誤是

System.Data.SQLite.SQLiteException了未處理

SQL邏輯錯誤或丟失的數據庫

沒有這樣的列:

+0

難道你不認爲告訴我們什麼樣的錯誤是將幫助我們診斷您的問題? –

+0

我會留意Simon的建議,並研究參數化查詢以保護您的代碼免受SQL注入攻擊。 –

+0

也許我會在將來嘗試它,但現在我正在學習C#和sqlite的基本知識,這只是一個小程序來控制我的硬幣......另外,如果您有一個更安全的基本示例在C#中使用sqlite的方法我會讚賞。 – Aman

回答

7

「我鍵入的文本」忽略你的代碼完全開放到SQL Injection的事實,你需要在SQL中用單引號括起字符串。

所以,你的代碼應該是這樣的:

String insSQL2 = 
    "select * from Produtos where nome = '" + txtBuscaNome.Text + "'"; 
//          ^^ here     ^^ here 
+0

非常感謝!我將成爲唯一一個使用這種技術的人,所以安全性不是問題,但學習新事物總是很好的。 – Aman