delphi与oracle 怎样用locate!(100分)

  • 主题发起人 主题发起人 wulihua
  • 开始时间 开始时间
W

wulihua

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi开发一个基于oracle 的数据库,在oracle中定义一个字段(char(20)),用table连接,浏览可以,但是用locate进行查询时,不能查询到指定记录,但用另外一个字段(number),可以查询,非常迫切地请高手指教,
 
可否说的具体些?把源代码贴出来看看
 
oracle 中有一个name字段,char(20)定义,输入值为:tom
查询用locate('name','tom',[])就不能匹配。
 
用 locate('name','tom',[loPartialKey]) 试试。

还有,最有把你的相关代码贴得多一点。
 
在oracle中char存储固定长度的内容,如果录入的长度小于定义的长度则用空格填满
例如:name CHAR(5),如果name='tom'则在数据库中纪录的是'tom '(有两个空格)
'tom'<>'tom ',所以用locate无法定位
在oracle中的变长字段最好用varchar2定义:name VARCHAR2(5)
 
sun说得没错,char类型的字段定长,用空格补足,但有时delphi也能比较出
不足长度的string与char类型字段相等,但有时不行,在多层时TParam也需补
足空格才能正确
 
varchar2也并不是用在任何地方都好,对于primary key建议使用char代替
varchar2可以提高性能.char补足空格的问题同oracle的版本也有关系,详细
的请自己查资料,我也很长时间没搞了,记不清楚.
 
多人接受答案了。
 
后退
顶部