我有一个员工表Employee(Em_ID,Name,password),其中Em_ID是主关键字,另外员工工资表Sala(Sa_ID,Em_ID,salary),其中Sa_ID是主关键字,Em_ID是外关键字(参考员工表的主关键字),
按正常的思路,在Sala表中插入新记录时,如果员工表Employee没有相应的EM_ID,Sala表是不能插入记录,可是问题是不管员工表Employee有没有相应的EM_ID,Sala表都能插入记录,
请问高手:问题出在前台还是后台数据库?(我的前台是Delphi,后台是Oracle9.0)如果是前台有问题,如何改正。如果是后台,又如何改正。
按正常的思路,在Sala表中插入新记录时,如果员工表Employee没有相应的EM_ID,Sala表是不能插入记录,可是问题是不管员工表Employee有没有相应的EM_ID,Sala表都能插入记录,
请问高手:问题出在前台还是后台数据库?(我的前台是Delphi,后台是Oracle9.0)如果是前台有问题,如何改正。如果是后台,又如何改正。
解决方案 »
- delphi 怎么将oracle的long raw 字段值 导入blob字段
- 关于网上充值支付的问题
- 求 超市计费系统思路!
- 兄弟们,我再问个小问题,你们总不能再让我失望吧?
- Delphi是不是“面向对象”的? 请各位不要觉得这个问题很弱智,进来看看问题的描述
- 怎么样在Delphi中把Query中的数据导到Excel中去?
- 请问如何能在RichEdit文本框中屏蔽右健的功能
- 我用CLIENTDATASET操作数据,实际的操作是在应用端吗?我怎么觉得还是在客户端?好象并没提高效率。
- 关于INI文件的检测,高手请进!
- DBComboBox的使用?很简单
- 如何取消一个文件的只读属性?
- QuickReport的何控件可以在一页中显示表的全部或若干条记录?
最好还是在新增、修改工资的画面上,利用另一个 form 去做Employee pick up,带回 Em_ID,这样比较具亲和力
如果新增时没有带回 (按了取消),只要你后台有加 Foreign Key constraint,那么 post 时是会拋出错误的,你可以在 OnPostError 拦截。好一点应该在 BeforePost 就检查 TField 是不是 IsNull 了