这样的需求该如何设计?合同表(ht), 材料表(MP),一条合同表记录对应多条材料表记录,材料表存在外键引用合同表的id,设计程序上 ,点"新建合同",进入新建合同页面,点击该页的保存按钮,向数据库中插入合同记录,但在用户没点击“保存”按扭之前,用户要先添加此合同的材料信息(可添加多条材料信息,即向材料表添加记录),
而此时合同的记录并不存在,所以不能添加材料信息,这样的需求如何解决???我的解决办法,在点击 “新建合同” 时就向合同表中插入一条合同记录,这样合同存在记录了,就可以随时添加材料了,但这样如果没有点击新建合同的保存按钮,确向合同表中插入了一条记录,显然这条记录是多余的,所以这个办法不理想,请各位指点应该如何设计,
而此时合同的记录并不存在,所以不能添加材料信息,这样的需求如何解决???我的解决办法,在点击 “新建合同” 时就向合同表中插入一条合同记录,这样合同存在记录了,就可以随时添加材料了,但这样如果没有点击新建合同的保存按钮,确向合同表中插入了一条记录,显然这条记录是多余的,所以这个办法不理想,请各位指点应该如何设计,
而此时合同的记录并不存在,所以不能添加材料信息,这样的需求如何解决???
这样应该要用到触发器,INSTEAD OF,保存前进行判断
再有用户保存材料的之后仍然没有保存合同,那么这合同,和为合同表的记录和为此合同添加材料表的记录仍然应该是不存在的,因为用户没有点击保存合同按钮
用户要先添加此合同的材料信息(可添加多条材料信息,即向材料表添加记录),
而此时合同的记录并不存在,所以不能添加材料信息,这样的需求如何解决???
===================
其实可以用事务,一次解决。
begin Transaction mytran
insert 合同 values ...
insert 材料 values ...
if(@@Error<>0)
begin
rollback my tran
return
end
commit transaction mytran
但可能会出现沉淀信息。后写个SQL清除下就行了。小系统加不加外键不有什么区别。
客户在加新闻时栏目是自己选。不选则不提交。如果是通过表单添加数据那不是很好控制吗。
我以前是直接INSTRL数据才去外键。
你通过表单添加资料,用下拉列表来选择隶属于哪个合同。并在页面上留一文本框。做随时添加合同。用AJAX POST/GET过去。再更新当前页面上的下拉列表。让客户可以选择。
添加合同 的表单中要列出添加的材料列表,连并添加按钮一起Iframe到添加表单 ,这样的办法可以独自更新添加合同表单的材料列表,而之前所添加的合同内容会保留
添加合同 的表单中要列出添加的材料列表,连并添加按钮一起Iframe到添加表单 ,这样的办法可以独自更新添加合同表单的材料列表,而之前所添加的合同内容会保留
--------------
不会发贴吧,错引用了
添加合同 的表单中要列出添加的材料列表,连并添加按钮一起Iframe到添加表单 ,这样的办法可以独自更新添加合同表单的材料列表,而之前所添加的合同内容会保留
我不是说了吗?
并在页面上留一文本框。做随时添加合同。用AJAX POST/GET过去。再更新当前页面上的下拉列表。让客户可以选择