如何查询Access数据库中备注字段中的中文字符 请路过的大侠看看,在线等...(100分)

  • 主题发起人 主题发起人 pyk1
  • 开始时间 开始时间
P

pyk1

Unregistered / Unconfirmed
GUEST, unregistred user!
如何查询Access数据库中备注字段的内容
备注字段的内容通过Dbrxrichedit储存,有图片,有文字。如何通过Adoquery1
查询备注字段中的文字。用如下语句可以查英文,但中文不起作用:
with dm1.Adoquery1 do
begin
close;sql.Clear;
sql.add('select * from zl where memo like '+''''+'%'+edit1.Text+'%'+'''');
open;
end;
附备注字段内容:
"{/rtf1/ansi/ansicpg936/deff0{/fonttbl{/f0/fnil/fcharset134 /'bb/'aa/'ce/'c4/'d0/'d0/'bf/'ac;}}
/viewkind4/uc1/pard/lang2052/f0/fs60/'d3/'c3/'bb/'a74285/par
}"
用Dbrxrichedit显示出来为:用户4285
谢谢。
 
sql.Text := 'select * from zl where [memo] like ' + QuotedStr('%'+edit1.Text+'%');
我就是这样用的,只要是字符串组合,就没有查不出来的
 
sql.Text := 'select * from zl where [memo] like ' + QuotedStr('%'+trim(edit1.Text)+'%');

就是这样的
 
sql.add('select * from zl where memo like %'''+edit1.Text+'%''');
 
to bjaman您好
怎么查中文字符,如查“用户”就查不到
附Memo字段内容:
"{/rtf1/ansi/ansicpg936/deff0{/fonttbl{/f0/fnil/fcharset134 /'bb/'aa/'ce/'c4/'d0/'d0/'bf/'ac;}}
/viewkind4/uc1/pard/lang2052/f0/fs60/'d3/'c3/'bb/'a74285/par
}
"
如上内容可以用Dbrxrichedit显示出来
 
Dbrxrichedit能显示图片吗
 
to:网中戏
可以显示
 
因为你的备注中存的是RTF格式的字符,故你在处理中文时只有先将其转换成 /'bb/'aa 之类的形式才可以。
 
to:dreamisx您好
不错,是以Rtf格式储存的文档,但不用Rtf格式,还有别的方法吗?
/'bb/'aa 是一个汉字的国标码,但我现在不知道如何能将一个汉字
转换成国标码。
 
好贴,顶一下
 
你说的国标码是汉字的内码吗?如果是的话有这样的函数你看看
function GetChineseCharCode(hzChar:String):Word;
var
tempW:word;
begin //得到汉字的内码
tempW:=WORD(hzChar[1]) shl 8 + WORD(hzChar[2]);
//result:=format('%0x',[tempW]);
result:=tempW;
end;
 
access 用 like 查询中文时有bug, 参看官方文档
 
Access 里的通配符不是 % 而是 * 吧
 
后退
顶部