W wulihua Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-29 #1 我用delphi开发一个基于oracle 的数据库,在oracle中定义一个字段(char(20)),用table连接,浏览可以,但是用locate进行查询时,不能查询到指定记录,但用另外一个字段(number),可以查询,非常迫切地请高手指教,
我用delphi开发一个基于oracle 的数据库,在oracle中定义一个字段(char(20)),用table连接,浏览可以,但是用locate进行查询时,不能查询到指定记录,但用另外一个字段(number),可以查询,非常迫切地请高手指教,
W wulihua Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-29 #3 oracle 中有一个name字段,char(20)定义,输入值为:tom 查询用locate('name','tom',[])就不能匹配。
W wuyi Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-29 #4 用 locate('name','tom',[loPartialKey]) 试试。 还有,最有把你的相关代码贴得多一点。
S Sun Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-30 #5 在oracle中char存储固定长度的内容,如果录入的长度小于定义的长度则用空格填满 例如:name CHAR(5),如果name='tom'则在数据库中纪录的是'tom '(有两个空格) 'tom'<>'tom ',所以用locate无法定位 在oracle中的变长字段最好用varchar2定义:name VARCHAR2(5)
在oracle中char存储固定长度的内容,如果录入的长度小于定义的长度则用空格填满 例如:name CHAR(5),如果name='tom'则在数据库中纪录的是'tom '(有两个空格) 'tom'<>'tom ',所以用locate无法定位 在oracle中的变长字段最好用varchar2定义:name VARCHAR2(5)
S spear Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-09 #6 sun说得没错,char类型的字段定长,用空格补足,但有时delphi也能比较出 不足长度的string与char类型字段相等,但有时不行,在多层时TParam也需补 足空格才能正确
S spear Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-09 #7 varchar2也并不是用在任何地方都好,对于primary key建议使用char代替 varchar2可以提高性能.char补足空格的问题同oracle的版本也有关系,详细 的请自己查资料,我也很长时间没搞了,记不清楚.
varchar2也并不是用在任何地方都好,对于primary key建议使用char代替 varchar2可以提高性能.char补足空格的问题同oracle的版本也有关系,详细 的请自己查资料,我也很长时间没搞了,记不清楚.