VB.NET使用OracleTransaction对象深入剖析

VB.NET还是比较常用的,于是我研究了一下VB.NET使用OracleTransaction对象,在这里拿出来和大家分享一下,希望对大家有用。

创新互联总部坐落于成都市区,致力网站建设服务有成都网站设计、成都网站建设、网络营销策划、网页设计、网站维护、公众号搭建、重庆小程序开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!

VB.NET使用OracleTransaction对象需要注意的几点:

1)你需要在你整个事务执行中只能有***OracleConnection,也就是说如果你事务处理过程中如果需要与数据库的操作都只能在这***的Command中执行,类似于:

 
 
 
  1. imgCommand.CommandText = sSQL
  2. imgCommand.ExecuteNonQuery()或其他操作

若你新建一个连接执行其他数据库操作的话,整个事务过程就会抛出异常

2)如果你需要在你SQL语句中加入参数,则你必须在你执行完提交或相关数据库操作之后将其Command的参数清空,下边举一个实际的项目里的事务函数:

 
 
 
  1. ''' 
  2. ''' 保存热点文本文件信息到数据库
  3. ''' 
  4. Private Function SaveTextFile()Function SaveTextFile() As Boolean
  5. Dim sSQl As String
  6. sSQl = "select type_id from sys_file_type where file_extname='TXT'"
  7. Try
  8. imgCommand.CommandText = sSQl
  9. Dim typeID As Int32 = Convert.ToInt32(imgCommand.ExecuteScalar()) '文件类型
  10. '读取文本信息
  11. Dim Textblob() As Byte = GetText()
  12. sSQl = "insert into t_watch_textcontent(image_id,text_content,type_id) 
    values(:imageid,:textcontent,:typeid)"
  13. '增添SQL参数
  14. Dim Param As OracleClient.OracleParameter
  15. Param = New OracleClient.OracleParameter("imageid", sNewImageID)
  16. imgCommand.Parameters.Add(Param)
  17. Param = New OracleClient.OracleParameter("textcontent", Textblob)
  18. imgCommand.Parameters.Add(Param)
  19. Param = New OracleClient.OracleParameter("typeid", typeID)
  20. imgCommand.Parameters.Add(Param)
  21. '提交信息
  22. imgCommand.CommandText = sSQl
  23. If imgCommand.ExecuteNonQuery() > 0 Then
  24. bResult = True
  25. '关键是这里,需要你手动清除参数
  26. imgCommand.Parameters.Clear()
  27. End If
  28. Catch ex As Exception
  29. Me.ExceptionMessage = ex
  30. bResult = False
  31. End Try
  32. Return bResult
  33. End Function

以上介绍VB.NET使用OracleTransaction对象。

分享名称:VB.NET使用OracleTransaction对象深入剖析
网站链接:http://www.shufengxianlan.com/qtweb/news41/240741.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联