在DELPHI中如何对备注字段进行模糊查询?

wxj 2000-03-11 09:36:00
我有一个文件数据库SGSW,原本是VFP数据库.其中'文件内容'是备注字段,我用BATCHMOVE将其转化为.DB数据库,'文件内容'转变为BLOBMEMO类型.
请问各位高手:
要查询'文件内容'中有'企业所得税'的,有怎么办法?我用以下方法不能通过:
begin
TRY
QUREY1.CLOSE;
query1.sql.clear;
query1.sql.add('select * from sgSW where 文件内容 LIKE :MMM' );
query1.parambyname('MMM').asstring:='%'+edit1.text+'%';
query1.open;
EXCEPT
SHOWMESSAGE('查询失败!');
end;
END;
(表单中放了EDIT1,以上是查询按钮代码)
...全文
190 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sess 2000-03-17
  • 打赏
  • 举报
回复
这是一个全文检索的问题,可以先把MEMO的内容倒到TSTRING里,然后对字符串操作,应该会了吧
Rich_Zhou 2000-03-17
  • 打赏
  • 举报
回复

if inputQuery('查找含有以下文字的条文:', '要查的文字:', sSearchStr) then
if trim(sSearchStr) <> '' then
begin
DataAccidentSys.tblInfolaws.filtered := false;
DataAccidentSys.tblInfolaws.First;
while not DataAccidentSys.tblInfoLaws.Eof do
begin
DataAccidentSys.tblInfoLaws.Edit;
DataAccidentSys.tblInfoLaws.FieldByName('filter').asBoolean :=
pos(sSearchstr, DataAccidentSys.tblInfoLaws.fieldbyname('Content').asstring) = 0;
DataAccidentSys.tblInfolaws.Next;
end;

DataAccidentSys.tblInfoLaws.filter := 'filter=false';
DataAccidentSys.tblInfoLaws.filtered := true;
end;

利用pos函数进行搜索 利用额外字段 纪录搜索结果
可以实现模糊查找。
dengdeng 2000-03-14
  • 打赏
  • 举报
回复
有好办法,别忘了通知我.
Lin 2000-03-12
  • 打赏
  • 举报
回复
DMMemo.Text以字符串返回备注字段的内容,用StrPos进行查询试试?
torent 2000-03-12
  • 打赏
  • 举报
回复
Re:Un1
如果只取前几个字符,能达到查询的效果吗?有更好的办法吗?
Un1 2000-03-11
  • 打赏
  • 举报
回复
你可以在建立一个String字段, 取出Memo字段的前几个字符到该字段, 然后利用该字段进行模糊查询.
hubdog 2000-03-11
  • 打赏
  • 举报
回复
paradox和dbf不支持memo全文检索,死了这条心吧:(
换sql server 7.0

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧