2016-12-16 4 views
0

と句のような文を準備し、私は(全体のクエリがあるこのは漢字

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); 

などのプリペアドステートメントに値を渡しますWinフォームやテキストボックスを持っている場所中文字などのmember_chinese_name%メンバーから選択します* ;)

クエリが私のWinフォームで何の結果ランを持っていませんが、私はphpMyAdminのでSQLを実行する()「%文字中」member_chinese_nameが好きなメンバーから選択*誰もが問題が何であるかを知っている

有効でしょうか?

備考(英語okです検索)

+0

のようになります。これは、代わりに@" + searchKey;@searchKeyである必要があります。また、代わりにsqlCmd.Parameters.Add(new MySqlParametersqlCmd.Parameters.AddWithValueを選択することができます。私は、これについて助けになるのにMySQLが十分にはわかりません。あなたの質問にMySqlというタグを追加してください。 – Steve

+0

おそらく、この質問はあなたの問題について始めるのに役立ちます。http://stackoverflow.com/questions/27940695/how-to-perform-mysql-fulltext-search-with-chinese-characters – Steve

+2

Offtopic:あなたはExecuteNonQueryと呼んでいますか?それを除く。 –

答えて

0

問題は、あなたが検索に送信されたパラメータであるかもしれません。これコードは、データベースエンジンでサポートされているデフォルトのロケールまたは文字セットで何かする必要があります

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+"%"); 
関連する問題