浏览:1802008-04-13 23:37   来自基点项目师      :
 1.我要给一个操作加个数据库日志,就势必造成了两次数据库访问,不知道除了自己写存储过程外还有什么办法没。
2.表中有一个DateTime字段,我想用默认的数据库服务器时间,但我居然发现,我不能传递空值,不知道怎么处理。
楼主
  1个月前   基点项目师      :
还有一个,我用的2005数据库,我用TransactionScope,居然提示我要开MTDC服务。。
回复  1楼 回到顶楼 
  1个月前   丁学      :
1、除了存储过程就只有触发器了,或者你可以不把日志写到数据库里,而是写到另外的log文件中,这样就不用两次数据库了,不过多了一次IO
2、可以在SQL语句中使用getdate(),如insert into tb(dt) values(getdate()),如果只是在插入时进行这种操作,可以直接给这个字段设置一个默认值getdate(),然后在插入时就不用理会这个值了
回复  2楼 回到顶楼 
  1个月前   基点项目师      :
@丁学
对于第一个问题,只能按照你说的那几个方案进行了。

对于第2个问题,可能你理解的和我不一样,我是已经在数据设置字段默认值了,但是我在用LINQ插入数据时,是必须给这个字段赋值的。。不赋值就报错。不知道有没有办法让我在插入时不用给这个值赋值,而用数据库服务器的时间

我现在想到的,只有用SQL语句或存储过程
回复  3楼 回到顶楼 
  5天前   Gray Zhang      :
可以给Log方法加个参数,传一个Connection或Transaction,这样速度会快不少吧
回复  4楼 回到顶楼 

你还不是小组成员,加入小组以后才能发布新主题!
> 返回“.NET 3.x”


其他话题

1 13957