今天在调用SqlServer中的系统存储过程sp_droplogin的时候,系统提示错误,看了看错误的提示"系统不支持事务",原来在编写的过程中,习惯的为调用过程增加了事务处理,在查看了MSDN的帮助的时候,发现了这句话:
"不能在用户定义的事务内执行 sp_droplogin。"
就是这么简单的一句话,就造成了执行的错误,其实往往有很多细节我们都忽视了,这个就要求我们在处理的时候更加灵活一点,这样我在封装函数的时候做了如下处理,
Public Sub ExecuteNonQuery(ByVal CommandText As String, _
Optional ByVal CommandType As ADODB.CommandTypeEnum = _
ADODB.CommandTypeEnum.adCmdText, _
Optional ByVal UseTrans As Boolean = True)

End Sub
这个是在VB6中定义的一个函数,其中UserTrans是后来添加的,我想很多时候衡量一个函数或类库的好坏,往往要看细节,而这些细节往往跟经验有关,但是任何细节都不要忽视.
"不能在用户定义的事务内执行 sp_droplogin。"
就是这么简单的一句话,就造成了执行的错误,其实往往有很多细节我们都忽视了,这个就要求我们在处理的时候更加灵活一点,这样我在封装函数的时候做了如下处理,
Public Sub ExecuteNonQuery(ByVal CommandText As String, _
Optional ByVal CommandType As ADODB.CommandTypeEnum = _
ADODB.CommandTypeEnum.adCmdText, _
Optional ByVal UseTrans As Boolean = True)
End Sub这个是在VB6中定义的一个函数,其中UserTrans是后来添加的,我想很多时候衡量一个函数或类库的好坏,往往要看细节,而这些细节往往跟经验有关,但是任何细节都不要忽视.
作者在调用SqlServer系统存储过程sp_droplogin时遇“系统不支持事务”错误,查看MSDN得知不能在用户定义事务内执行该过程。作者在封装VB6函数时做了处理,强调处理问题要灵活,衡量函数或类库好坏要看细节,且不能忽视细节。

被折叠的 条评论
为什么被折叠?



