主细表数据录入原则.

主细数据库同时录入数据的时候,我认为有如下原则:


1 逻辑远比方便重要。
  有的人喜欢将主表数据之前,生成细表数据。撇开数据库的主外键约束的情况不说,单单从逻辑上,也应该是先有主表数据,然后再有细表数据。
  为了绑定显示方便,而将细表数据先存到数据库中,和逻辑上的混乱与造成的麻烦相比,远远得不偿失。

 

2 临时数据,临时存。
  简单的临时数据,可以存到ViewState当中,复杂的(如发表一个新闻,带多个附件的)可以用Session.

  Session可以放置任何对象。Ctype(Session("FJ"),ArrayList)可以存放很多东西,比如FileUpload。一些技巧应用能带来非常多的好处。但是,不要将临时数据存到数据库中。更不要指望用复杂的判断和清除数据、置标识等方式,貌似很有技巧,实际上是把简单的事情复杂了。

 

3 事务,事务!
  主细表数据一个按钮同时添的时候,要有先有后,有事务,出错就回滚。我的习惯如下
  Try
   DB.StartTrans()
   执行SQL1(主表)
   执行SQL2(细表)
   执行SQL3(细表)
   执行SQL4(细表)
   ....
   DB.Commit()
   '提示成功
  Catch ex As Exception
   DB.RollBack()
   '将ex信息提示出来
  End Try

   如果有一些是调用函数内部有Try了。或者某些执行返回影响行数为0,那就在本页面自己手动Throw一些错误,比如

   If Myuser.Insert(参数,参数)=0 Then
      Throw New Exception "增加人员失败"
   End If
   由于我的Insert函数中已经Try了,返回值根据是否为0判断是执行否有错误,那么我就手动Throw出相应的信息。

 

4 约束关系一定要完整

 

 一个好的程序,不仅仅是代码要逻辑清楚,简捷,健壮.同时,对于数据库,其约束,索引,主键,外键一定要完整.一个好的约束,是避免错误数据产生和简化开发最直接有效的办法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值