字符串比较(50分)

  • 主题发起人 主题发起人 feishu
  • 开始时间 开始时间
F

feishu

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi的数据库控件中,字符串比较时不区分大小写,有没有办法解决,我说的是,不使用
Objcet Pascal的函数,靠数据库控件Table,dataset等的方法入locate等,但locate不区分
大小写。SQL也不区分大小写,请高手帮忙,有没有区分大小写的查找
 
Locate有个选项啊
 
type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = set of TLocateOption;
 
这两个选项,我设置了loCaseInsensitive,可是不管用
 
服务器可以设置我有点印象。你是什么数据库?
ms sql server不知道
oracle可以的
 
哦,帮助里说,是设置了这个开关以后才会不区分大小写
 
我是Access,或者会干脆使用内存表
 
不会呀,我在用locate搜索时会区分大小写的
 
我这是win2000,Access2000,Delphi6 没打补丁的
 
我装了update 2还是不行
 
原先使用的是ADOTable不支持区分大小写,我换成ClientDataset后,又不支持中文了,或者是不支持
那些无法显示的字符了。没有人能帮忙吗?
 
LOCATE 支持区分大小写!
 
不可能,tclientdataset肯定支持中文,这个我用得很好呀
 
看locate的帮助说的再详细不过了
Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean;
type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = set of TLocateOption;
Description
The TLocateOptions type defines the possible values for the Options parameter of the Locate method of the TTable, TQuery, and TStoredProc components, as described in the following table:
Value Description
loCaseInsensitive Key fields and key values are matched without regard to case.
loPartialKey Key values can include only part of the matching key field value; for example, 'HAM' would match both 'HAMM' and 'HAMMER.'
 
这是与数据库有关的,呵呵,不是因为选项,另外ADODataset的Locate的loCaseInsensitive设置
在程序中根本是一个兼容性保留的选项,看一下源码还有MicroSoft ADO的帮助就知道了
 
多人接受答案了。
 
后退
顶部