2017-08-16 208 views
3

我在C#桌面應用程序上工作,並希望在MYSQL數據庫中搜索與特定名稱匹配的所有記錄,以便將此記錄顯示到datagridview中,但在執行時遇到錯誤與值查詢:巴勃羅LIKE似乎並不工作

enter image description here

這是我的查詢

sentencia = "select * from registro where nombreParticipante LIKE '%' + @valor + '%'"; 
        nombre = valor.ToUpper(); 
        cmd.Parameters.AddWithValue("@valor", nombre); 
        cmd.CommandText = sentencia; 

你能告訴我什麼是錯的代碼,請

回答

3

格式字符串爲您的參數,而不是在查詢:

sentencia = "select * from registro where nombreParticipante LIKE @valor"; 
        nombre = valor.ToUpper(); 
        cmd.Parameters.AddWithValue("@valor", "%" + nombre + "%"); 
        cmd.CommandText = sentencia; 
4

試試這個代碼:

"select * from registro where nombreParticipante LIKE '% + @valor + %'"; 

LIKE正確的語法是:

WHERE 'STRING' LIKE '%OtherString%' 

以及你所做的是:

WHERE 'STRING' LIKE '%'OtherString'%'