Z
zj21st
Unregistered / Unconfirmed
GUEST, unregistred user!
错误提示“非空列不能更新为Null”
李维ADO书上的一个例子:
数据库: MS SQL Server 7.0
主表:
Essays (AutoID int IDENTITY (1,1) NOT NULL,
EssayName VarChar (50) NOT NULL,
EDate DateTime NULL,
Author VarChar (10) NULL)
Essays: 主键AutoID
从表:
EssayContent (AutoID int NOT NULL,
MDate DateTime NULL,
EssayContent text NULL)
ADOConnection连接到数据库,
ADOQueryMaster: select * from essays
DataSourceMaster: dataset := ADOQueryMaster
DBGridMaster: Datasource := DataSourceMaster
DBNavigatorMaster: Datasource := DataSourceMaster
ADOQueryDetail: select * from essayContent where autoid = :autoid
DataSource := DataSourceMaster
DataSourceDetail: dataset := ADOQueryDetail
DBGridDetail: DataSource := DataSourceDetail
按DBNavigatorMaster的(+)增加新记录,主从表均输入完毕,
按DBNavigatorMaster的Post试图自动保存主表和从表时,
出现提示:“非空列不能更新为Null”。
我想问题一定出在从表的AutoID上,我想正确的更新过程应该是:
先保存主表,取得主表记录的AutoId的值,
然后将该值写入从表的AutoId,最后再保存从表。
可这样要写一些代码,有没有不用写代码就能自动同时Post主表和从表的方法
我要的效果就是,当同时新增了Master和Detail的记录后,
按DBNavigatorMaster的Post能同时更新主从表。
李维ADO书上的一个例子:
数据库: MS SQL Server 7.0
主表:
Essays (AutoID int IDENTITY (1,1) NOT NULL,
EssayName VarChar (50) NOT NULL,
EDate DateTime NULL,
Author VarChar (10) NULL)
Essays: 主键AutoID
从表:
EssayContent (AutoID int NOT NULL,
MDate DateTime NULL,
EssayContent text NULL)
ADOConnection连接到数据库,
ADOQueryMaster: select * from essays
DataSourceMaster: dataset := ADOQueryMaster
DBGridMaster: Datasource := DataSourceMaster
DBNavigatorMaster: Datasource := DataSourceMaster
ADOQueryDetail: select * from essayContent where autoid = :autoid
DataSource := DataSourceMaster
DataSourceDetail: dataset := ADOQueryDetail
DBGridDetail: DataSource := DataSourceDetail
按DBNavigatorMaster的(+)增加新记录,主从表均输入完毕,
按DBNavigatorMaster的Post试图自动保存主表和从表时,
出现提示:“非空列不能更新为Null”。
我想问题一定出在从表的AutoID上,我想正确的更新过程应该是:
先保存主表,取得主表记录的AutoId的值,
然后将该值写入从表的AutoId,最后再保存从表。
可这样要写一些代码,有没有不用写代码就能自动同时Post主表和从表的方法
我要的效果就是,当同时新增了Master和Detail的记录后,
按DBNavigatorMaster的Post能同时更新主从表。