请问ftMemo类型不能用Locate进行查询吗?

角落的青苔 2002-09-12 09:53:38
我有个字段定义如下:
FieldName = 'text'
BlobType = ftMemo
但是这样查询出错呢?
if DataM.verify_t.Locate('shengbu;text;',VarArrayOf//
(['上平',GetZi]),[]) then //GetZi是一个汉字,string类型
出错提示为:Field 'text' if of an unsupported type
我用的是ClientDataSet控件,数据库文件为cds平面文件

谢谢指点一下呀^_*
...全文
36 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
角落的青苔 2002-09-13
  • 打赏
  • 举报
回复
问题解决了哦^_*

用Filter,在OnFilterRecord里写
Accept:=AnsiPos(main.GetOneZi,verify_t.FieldByName('text').AsString)<>0; //main.GetOneZi为一个汉字

然后在main里
DataM.verify_t.Filtered:=True;
判断if DataM.verify_t.RecordCount=0 then
//我的过程

呵呵,换个方法,天宽路远哦;-P
windindance 2002-09-13
  • 打赏
  • 举报
回复
那你就重建好了:)
角落的青苔 2002-09-13
  • 打赏
  • 举报
回复
继续顶顶~~~~~~~郁闷……
wrsy 2002-09-13
  • 打赏
  • 举报
回复
学到很多哦!:)
blazingfire 2002-09-12
  • 打赏
  • 举报
回复
很好玩的想法。不过多半用Locate不行,没试过!
角落的青苔 2002-09-12
  • 打赏
  • 举报
回复
我就是因为不想用SQL语句,发布的时候打包太大了~~所以才用cds文件的

我其实只是想判断,在text中是否包含我查询的一个汉字。

我另一个地方在text中用Filter也行的呀~~

再加50吧,uo有分,谢谢^_*
windindance 2002-09-12
  • 打赏
  • 举报
回复
junerr(路在何方) 是对的。
其根本原因是Blob类型不支持索引。
如果你真的需要,你可以试试SQL SERVER中的全文检索。(我也没有用过,但我知道支持这个功能。)
junerr 2002-09-12
  • 打赏
  • 举报
回复
ftMemo属于Blob类型的一种,Blob类型都不支持Locate操作
角落的青苔 2002-09-12
  • 打赏
  • 举报
回复
大家不会是不会吧?那就是不屑了哈~~~~~~~~~~

神啊,救救我吧~~~~~~~
角落的青苔 2002-09-12
  • 打赏
  • 举报
回复
我不是还得重新建数据库?因为cds文件不能再改字段属性了呀~~
我那cds文件里面记录很多的,够麻烦哈

我也没找到varchar,只有个LBString,是这个吗?
windindance 2002-09-12
  • 打赏
  • 举报
回复
那你用varchar类型好了
可以有4000个汉字,应该是够用了

5,391

社区成员

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

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