用ADO模糊查询VF中的DBF表时应用什么通配符?

kjbdyw 2004-05-04 01:46:26
我用ADOConnection1中的ODBC连接一个自由表DBF,查询字段内容是数字或字母时就可以查找到相应的数据,但字段内容是汉字时就无法查找了,比如name字段中的内容有"张学友","李三"。。。这些数据,但无论是模糊(like)查找还是精确(=)查找都不行,都是一条记录都找不到,请各位大哥指点一下,我是不是还有什么没有设置好的。
我在ADOConnection1的ONCreate事件中写了以下连接表的代码
try
if vod_data.ADOConnection1.Connected=true then
vod_data.ADOConnection1.Connected:=false;
vod_data.ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Visual FoxPro Tables;UID=;SourceDB=' +gc_query.vod_dir+'\DATA;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Initial Catalog=c:\song\data';
vod_data.ADOConnection1.Connected:=true;
except
showmessage('连接数据库出错!');
//exit;
end;
在ADOQUERY1中用以下句子查询
vod_data.adoquery1.Close;
vod_data.adoquery1.SQL.Clear;
if dxedit1.Text<>'' then
begin
vod_data.adoquery1.sql.add('select * from song.dbf where singer1 like :gx');
vod_data.ADOQuery1.Parameters.ParamByName('gx').Value:='%'+dxedit1.Text+'%';
end
else
begin
vod_data.adoquery1.sql.add('select * from song.dbf');
end;

try
vod_data.adoquery1.Open;
except
showmessage('查询数据出错!');
end;
...全文
48 1 点赞 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zblaoshu1979 2004-05-04
用Microsoft OLE DB Provider for SQL Server试一试,为什么要用ODBC呢?
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库相关
加入

2462

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2004-05-04 01:46
社区公告
暂无公告