Master/Detail KeyField类型为Char时,不填满,Detail取不到数据。(200分)

  • 主题发起人 主题发起人 Richard3000
  • 开始时间 开始时间
R

Richard3000

Unregistered / Unconfirmed
GUEST, unregistred user!
DataSnap,Delphi 7 ,MS Server 2000,Windows 2000 Advanced Server + SP4,MDAC 2.7
ADOQuery,在客户端建立Master/Detail关系。
Master/Detail KeyField类型为Char时,不填满,Detail取不到数据。
填满时没有问题。请问各位前辈,这个问题如何解决?
 
用VarChar
可变长度
 
同意ycxy:
ado有很多问题的!
 
换成varchar不是什么好办法。
这个问题从Delphi 4就开始有了,为什么没有办法解决呢?
 
CHAR 型是完全匹配的字段类型,往往用于比较严格要求的字段(例索引号)
它必须填满长度。(它的好处是查询效率高)
一般的字段建议用vchar
 
 
char型你規定了長度後,當數據長度不足其長度時會自動填滿,查找時也會出現找不到的情況
建議換成varchar型的數據,
 
rt.
char 是定长字符类型,长截短补。
varchar 是变长字符类型,但占用空间多。
 
照各位说的这种问题应该在两层结构中也出现啊,但是实际两层结构不会出现这个问题!
把Char换成Varchar要有充分的理由,各位的理由不能让人信服!
 
这不是ADO的错,而且用Varchar也是一样的!
 
问题已经解决。
 
发生这种问题的原因是因为DataSnap的Master/Detail工作方式不好,或者说是Bug。
[red]与ADO无关,用BDE也是一样的,与数据类型也无关,用varchar也是一样的。[/red]
分数保留。
 
后退
顶部