读书人

关于clientDataSet一个奇怪的有关问题

发布时间: 2012-02-23 22:01:34 作者: rapoo

关于clientDataSet一个奇怪的问题?请大家帮看看!
我在做一个midas三层结构的程序;
我在客户端先用clientDataSet.commandtext查询一个结果;
然后有如下:
if clientDataSet.locate( '项目名称 ',trim(edit1.text),[]) then showmessage( '存在 ')
else showmessage( '不存在 ');
奇怪的是如果edit1.text里是英文字符的话没有问题,可如果换成汉字即使查询结果里的一个汉字类型的值与edit1.text里的汉字相同
也是显示 '不存在 ',这是什么原因?请大家帮帮忙阿!谢谢!

[解决办法]
delphi的dataset对中文过滤存在一些问题
[解决办法]
看看这个人是怎么解决的,

因ado到TClientDataSet,如果字串的,其位型ftWideString,型在TClientDataSet呼叫Locate就是失,所以我最後是取到的料,重新在另一TClientDataSetCreate一DataSet.把每 ftWideString型的位在FieldDefs重新定ftString的型,CreateDataSet後,再把料搬到新的 TClientDataSet上,然後呼叫Locate就可以了.
但方法耗掉些,尤其是料量大.我那的,1~2的料,大概耗掉十秒甚至1分.不,法,真的久,只好在幕上show料理中的息,最少,比重新跟料抓料的好吧
[解决办法]
可能是数据库使用了unicode编码。在输入的字符串前加大写的N。具体查看帮助。

读书人网 >.NET

热点推荐