Delphi5+MySql 用Sql搜尋中文問題 |
缺席
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
各位大德,您好!
我用 MySql ODBC 5.1 MySql 版本 5.0.45 Delphi5 ADOquery 來連MySql資料庫 資料 顯示沒問題,但在前端下SQL指令搜尋某一中文, 卻搜不到 如: edit1.text 輸入值是 '李維' ADOquery1.close; ADOquery1.sql.clear; ADOQuery1.sql.Add('select * from TALBENAME'); ADOquery1.sql.Add('where NAME=:x_name '); ADOquery1.Parameters.ParamByName('x_name').value:=edit1.text; ADOquery1.open; MYSQL相關設定如下: character_set_client UTF8 character_set_server UTF8 character_set_connection UTF8 collation_connection utf8_general_ci collation_database big5_chinese_ci collation_server utf8_general_ci character_set_database BIG5 資料庫有這筆資料,但卻搜不到,不曉得是何原因 請有經驗的大德不吝指教,謝謝! |
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
|
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
謝謝大德的回覆, 在後端用select 搜是 OK的,
但在前端用下列程式碼來搜卻找不到資料, 程式碼如下,應該沒錯, 但不知是何原因搜不到 ADOquery1.close; ADOquery1.sql.clear; ADOQuery1.sql.Add('select * from TALBENAME'); ADOquery1.sql.Add('where NAME=:x_name '); ADOquery1.Parameters.ParamByName('x_name').value:=edit1.text; ADOquery1.open; |
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
tablename跟where之間是不是少了空格?
===================引 用 joana 文 章=================== 謝謝大德的回覆, 在後端用select 搜是 OK的, 但在前端用下列程式碼來搜卻找不到資料, 程式碼如下,應該沒錯, 但不知是何原因搜不到 ADOquery1.close; ADOquery1.sql.clear; ADOQuery1.sql.Add('select * from TALBENAME'); ADOquery1.sql.Add('where NAME=:x_name '); ADOquery1.Parameters.ParamByName('x_name').value:=edit1.text; ADOquery1.open; |
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
Try It-->
procedure StrToClipbrd(StrValue: string); var S: string; hMem: THandle; pMem: PChar; begin hMem := GlobalAlloc(GHND or GMEM_SHARE, Length(StrValue) 1); if hMem <> 0 then begin pMem := GlobalLock(hMem); if pMem <> nil then begin StrPCopy(pMem, StrValue); GlobalUnlock(hMem); if OpenClipboard(0) then begin EmptyClipboard; SetClipboardData(CF_TEXT, hMem); CloseClipboard; end else GlobalFree(hMem); end else GlobalFree(hMem) end; end; .... .... ADOQuery1.sql.Text:='select * from TALBENAME'; ADOquery1.sql.Add(Format('where NAME=''%S''',[Edit1.Text]); StrtoClipBrd(ADOQuery1.SQL.Text); ADOquery1.Open; -->您可以將該 SQL 貼到 SQL Explorer 看資料 顯示有沒有問題 ===================引 用 joana 文 章=================== 謝謝大德的回覆, 在後端用select 搜是 OK的, 但在前端用下列程式碼來搜卻找不到資料, 程式碼如下,應該沒錯, 但不知是何原因搜不到 ADOquery1.close; ADOquery1.sql.clear; ADOQuery1.sql.Add('select * from TALBENAME'); ADOquery1.sql.Add('where NAME=:x_name '); ADOquery1.Parameters.ParamByName('x_name').value:=edit1.text; ADOquery1.open; ===================引 用 joana 文 章=================== 謝謝大德的回覆, 在後端用select 搜是 OK的, 但在前端用下列程式碼來搜卻找不到資料, 程式碼如下,應該沒錯, 但不知是何原因搜不到 ADOquery1.close; ADOquery1.sql.clear; ADOQuery1.sql.Add('select * from TALBENAME'); ADOquery1.sql.Add('where NAME=:x_name '); ADOquery1.Parameters.ParamByName('x_name').value:=edit1.text; ADOquery1.open;
------
What do we live for if not to make life less difficult for each other? |
joana
一般會員 發表:35 回覆:70 積分:21 註冊:2005-09-02 發送簡訊給我 |
|
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |