2016-07-15 51 views
0

我想找到表中的數據urunAd的行數,但我得到一個錯誤,如在查詢表達式「urunAd =」這個我和SQL選擇語法錯誤

語法錯誤(缺少操作員)。

OleDbCommand komut = new OleDbCommand(
    "SELECT COUNT(*) FROM Urunler WHERE urunAd= " + tbAd.Text + "", baglan); 

而且 - 我該如何呈現在我的ASP.Net的結果?

+3

總是使用參數化查詢,因爲它是你的查詢是脆弱的SQL注入https://en.wikipedia.org/wiki/SQL_injection – Esko

回答

2

您正在分配文本。您應該添加''圍繞文本:但

OleDbCommand komut = new OleDbCommand(
    "SELECT COUNT(*) FROM Urunler WHERE urunAd='" + tbAd.Text + "'", baglan); 

,而不是這樣做 - 使用parameterized queries(這裏是一個簡單的例子)

using (OleDbCommand komut = new OleDbCommand("SELECT COUNT(*) FROM Urunler WHERE [email protected]", connection)) 
{ 
    komut.CommandType = CommandType.Text; 
    komut.Parameters.AddWithValue("@value", tbAd.Text); 
    /* execute the query... */ 
} 

對於你的ASP呈現結果。在google上沿着「如何在asp.net中顯示來自sql命令的結果」一行進行快速搜索,得到了不少結果。 Among them

+0

非常感謝,我是新的:) –

+0

@görkem - 你歡迎:)我們都是新的在某個時刻 –