2017-08-16 169 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'%'