在access数据库中只要有“マイ フレンド”类似的日文或者韩文内容,如果BCB,Delphi等编程语言中使用ado查询,在查询语句中使用了"name like '%王%'"语句,例如:
select * from db1 where name like '%王%'"那么就会出现内存溢出的问题,怎么解决啊?但是如果在sql server数据库就不会有这种问题;先要说明的绝对不是内存的问题,如果不信,你只要在数据库中加入一条包含“マイ フレンド”内容的记录,都会出错,大家可以试试;我在论坛上找了相关帖子,发现也有很多人出现这个问题,但是都没有相应的解决办法,这个问题也一直困扰着我,如果有高手,不凡出来指点一下,谢谢,分不够可以再加,只要能解决
select * from db1 where name like '%王%'"那么就会出现内存溢出的问题,怎么解决啊?但是如果在sql server数据库就不会有这种问题;先要说明的绝对不是内存的问题,如果不信,你只要在数据库中加入一条包含“マイ フレンド”内容的记录,都会出错,大家可以试试;我在论坛上找了相关帖子,发现也有很多人出现这个问题,但是都没有相应的解决办法,这个问题也一直困扰着我,如果有高手,不凡出来指点一下,谢谢,分不够可以再加,只要能解决
是不是要用encode処理...
//encode the widestring to string of unicode ascii set
//be used for search unicode char in SQL server
//2003.03.21
var
I:Integer;
begin
Result:='';
for I:=1 to Length(Value) do begin
if I>1 then begin
Result:=Result+'+';
end;
Result:=Result+'NCHAR('+IntToStr(Word(Value[I]))+')';
end;
end; if Length(MusicName)>0 then begin
sql:=' (music_name LIKE ''%'' + ' + EncodeUnicodeSQL(MusicName) + ' + ''%'')';
end;
if Length(MusicName)>0 then begin
sql:=' (music_name LIKE ''%'' + ' + EncodeUnicodeSQL(MusicName) + ' + ''%'')';
只是把关键词Unicode,并没有处理记录里面的内容
另外,使用Unicode的字段呢?也试一下吧。
还有,升级MDAC呢?如果真是ACCESS的bug,微软不可能不修正它。