我有一个winform和一个textbox,它们将值传递给一个准备好的语句,如下所示
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是有效的
有人知道问题出在哪里吗?
备注(搜索英文即可)
发布于 2016-12-16 16:40:56
问题可能是您为搜索而发送的参数。它应该是@searchKey而不是@" + searchKey;,您也可以选择sqlCmd.Parameters.AddWithValue而不是sqlCmd.Parameters.Add(new MySqlParameter,因此代码将如下所示
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+"%"); https://stackoverflow.com/questions/41179175
复制相似问题