实在不行了,自己搞了好久都搞不出来。只好求助大家了。
一个视图 Studentinfo有四个表组成,其中三个dorm,class.和Student
Studentinfo.dormid->dorm.id+Student.dormid
Studentinfo.classid->class.id+Student.classiddorm,class 都是录好的单表。
现在通过Student表的添加删改来完成整个对 视图的操作。主要代码如下:
dm.student.append;dm.Student.FieldByName('classid').asinteger:=classid;
dm.Student.FieldByName('dormid').asstring:=dormid;dm.Student.post;dm.student.updatebatch(arall);
dm.studentinfo.refresh;
在数据控制 使用DBEDIT数据集为studentinfo.执行时,提示:EOleException 无法将NULL插入majorid,表dorm.dbo.class;该列不允许空值,INSERT失败。
majorid是class表中一个非空字段。当把它设置为可为空时,该条提示没有了,但是与此很相似的:
“无法将NULL插入dormid,表dorm.dbo.student;该列不允许空值,INSERT失败。”
实际的情况是当把程序关闭,再打开的时间,数据已经正常的添加了。
如果把最后一句dm.studentinfo.refresh;去掉,则没有以上提示,但是数据库没有办法刷新了,比如我使用BTNCLK 打开另外一个浏览dm.studntinfo的DBGrid,则新加的数据没有出现。这个问题我实在是搞不定了,请各位高手指教指教。在线等。
一个视图 Studentinfo有四个表组成,其中三个dorm,class.和Student
Studentinfo.dormid->dorm.id+Student.dormid
Studentinfo.classid->class.id+Student.classiddorm,class 都是录好的单表。
现在通过Student表的添加删改来完成整个对 视图的操作。主要代码如下:
dm.student.append;dm.Student.FieldByName('classid').asinteger:=classid;
dm.Student.FieldByName('dormid').asstring:=dormid;dm.Student.post;dm.student.updatebatch(arall);
dm.studentinfo.refresh;
在数据控制 使用DBEDIT数据集为studentinfo.执行时,提示:EOleException 无法将NULL插入majorid,表dorm.dbo.class;该列不允许空值,INSERT失败。
majorid是class表中一个非空字段。当把它设置为可为空时,该条提示没有了,但是与此很相似的:
“无法将NULL插入dormid,表dorm.dbo.student;该列不允许空值,INSERT失败。”
实际的情况是当把程序关闭,再打开的时间,数据已经正常的添加了。
如果把最后一句dm.studentinfo.refresh;去掉,则没有以上提示,但是数据库没有办法刷新了,比如我使用BTNCLK 打开另外一个浏览dm.studntinfo的DBGrid,则新加的数据没有出现。这个问题我实在是搞不定了,请各位高手指教指教。在线等。
解决方案 »
- 子窗体为何不能继承父窗体的关闭事件?
- 求助关于拨手机号的问题
- 一个我设计的控件,控件包含的对象的FREE写在哪里好?
- XP下,为什么将这个控件放在FORM上后,FORM上所有控件就成XP风格了?哪位指点下
- 线程资源释放
- 如何判断鼠标左键是否按下(或者右键)。
- 请问一些网络游戏的外挂用什么开发,哪里有这方面的资料
- 求救,请问那里有Microsoft personal web servers 下载
- 在delphi中如何实现数据库的事务提交与回滚?(最好能给个例子)
- 用Delphi如何做好主從輸入的編輯窗口?
- 如何通过delphi代码实现大批量的数据导入
- 如何获得“C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5”
不如用ExecSQL