TQuery+TUpdateSql,默认值不起作用(100分)

  • 主题发起人 主题发起人 shiny
  • 开始时间 开始时间
S

shiny

Unregistered / Unconfirmed
GUEST, unregistred user!
Query1:TQuery
SQL: SELECT ID,NAME,MEMO FROM TABLE1
CACHEDUPDATE:=TRUE
UPDATEOBJECT:=UPDATESQL1

UPDATESQL1:TUPDATESQL
INSERTSQL: INSERT INTO TABLE1 (NAME,MEMO) VALUES (:NAME,:MEMO)

SERVER端TABLE1:
ID字段:IDENTIFY,NOT NULL,INTEGER
NAME字段:VARCHAR(10),NOT NULL,DEFAULT ''
MEMO字段:VARCHAR(10),NOT NULL,DEFAULT ''

在FORM里面新增记录后马上POST,可以,但是APPLYUPDATES时说NAME不能是
NULL值,换句话说我不输入的话INSERT时:NAME是NULL值,于是我设定NAME对应
的TSTRINGFIELD.DEFAULTEXPRESS:='MMM',然而当我新增记录时,MMM并没有
自动填入NAME字段,而这在使用TABLE或者带REQUESTLIVE的TQUERY时是会自动
填入的.
请教诸位如何能简单的解决这个问题?我不想在QUERY1的AFTERINSERT里面
给新纪录赋上默认值,想知道有没有那个属性可以解决.


 
使用永久字段,NAME将其 Required 属性设为False,
将Query的AutoRefresh设为Ture试一试,
 
修改完后还要
Qurey.applyupdate;
Qurey.commitupdate;
 
SQL SERVER的INSERT必须保证插入的字段都有值,你如果着两个字段不用的话,就从
INSERT语句里将其去掉,就OK了,否则就不要设置为空
 
搞不定啊!还有其它办法吗?
 
多人接受答案了。
 
后退
顶部