首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用中文准备语句like子句

问使用中文准备语句like子句
EN

Stack Overflow用户
提问于 2016-12-16 15:19:14
回答 1查看 98关注 0票数 0

我有一个winform和一个textbox,它们将值传递给一个准备好的语句,如下所示

代码语言:javascript
复制
searchKey = "member_chinese_name";
field_name = "member_chinese_name";
daoQuery = "SELECT * FROM member where member_chinese_name like @" + searchKey;

sqlCmd = new MySqlCommand(daoQuery, databaseConnection);
MessageBox.Show(field_name + " " + field_value1);
sqlCmd.Parameters.Add(new MySqlParameter("@"+field_name , field_value1 + "%"));
sqlCmd.CommandTimeout = 60;
sqlCmd.ExecuteNonQuery();

adapter.SelectCommand = sqlCmd;
adapter.Fill(ds);

整个查询是(select * from member where member_chinese_name like中文字%;)

该查询在我的winform中没有运行结果,但我在phpmyadmin (select * from member where member_chinese_name like '中文字%')中运行sql是有效的

有人知道问题出在哪里吗?

备注(搜索英文即可)

EN

回答 1

Stack Overflow用户

发布于 2016-12-16 16:40:56

问题可能是您为搜索而发送的参数。它应该是@searchKey而不是@" + searchKey;,您也可以选择sqlCmd.Parameters.AddWithValue而不是sqlCmd.Parameters.Add(new MySqlParameter,因此代码将如下所示

代码语言:javascript
复制
searchKey = "member_chinese_name";
field_name = "member_chinese_name";
daoQuery = "SELECT * FROM member where member_chinese_name like @sKey";
sqlCmd = new MySqlCommand(daoQuery, databaseConnection);
MessageBox.Show(field_name + " " + field_value1);
//not sure which variable stores 中文字
sqlCmd.Parameters.AddWithValue("@sKey", field_value1+"%"); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41179175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档