Foxtable(狐表)用户栏目专家坐堂 → 求助。


  共有2193人关注过本帖树形打印复制链接

主题:求助。

帅哥哟,离线,有人找我吗?
18523500398
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1150 威望:0 精华:0 注册:2018/9/17 11:16:00
求助。  发帖心情 Post By:2018/11/6 11:54:00 [只看该作者]

把事务用在窗口加载的事件,代码如下
try 
Connections(_strBooks).BeginTransaction()
e.Form.BaseForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None
e.Form.DisableXButton()
Dim ma As String 
Dim fo As WinForm.Form = Forms("金相BusMain")
If fo.Opened Then
Dim lvw As WinForm.ListView = Forms("金相BusMain").Controls("LV_SCXX")
Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView中选定的行
If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行
    Return
End If
Dim dr As DataRow = vr.tag '获取此行对应的DataRow
e.Form.Controls("TXT_MO").Text = dr("制令单号")
e.Form.Controls("TXT_TI").text=dr("送检单号")
e.Form.Controls("TXT_PRDNAME").Text = dr("货品名称")
e.Form.Controls("TXT_DEP").text=dr("生产线")
e.Form.Controls("TXT_JLNO").text=Vars("_jxlv_jl")
Vars("_jxlv_prdno")=dr("货品编号")
End If
''获得检验项目

''建立表
Dim s As String = Guid.NewGuid.ToString()
Dim cmd1 As new SQLCommand
cmd1.ConnectionName=_strBooks
cmd1.CommandText="EXEC GET_PROJECT_JY '" & _t1 & "','" & Vars("_jxlv_prdno") & "','" & Date.Now() & "','" & s & "'"
cmd1.ExecuteNonQuery()
''MessageBox.Show("建立了表成功")

Dim q As new QueryBuilder
q.TableName = "金相临时"
q.ConnectionName=_strBooks
q.SelectString="exec GET_PROJECT_SHOW_TABLE '" & s & "'"
q.Build

''MessageBox.Show("查询了表成功")
Dim i As Integer
i=Tables("金相临时").Cols.Count
Vars("_int_tbcount")=i
Dim j As Integer
For j=0 To i-1
    Tables("金相临时").Cols(j).RecordRowHeight=2
Next
''Tables("金相临时").Cols(0).RecordRowHeight=2
Dim rgd As WinForm.RecordGrid = e.Form.Controls("RCDG_R")
Tables("金相临时").AllowEdit=True
rgd.Table=Tables("金相临时")
rgd.Build
''删除表
Dim cmd4 As new SQLCommand
cmd4.ConnectionName=_strBooks
cmd4.CommandText="exec GET_PROJECT_DROP_TABLE '" & s & "'"
cmd4.ExecuteNonQuery()
Connections(_strBooks).Commit
catch ex As exception
Connections(_strBooks).Rollback()
MessageBox.Show(ex.Tostring())
End try


然后出错了:
如果分配给命令的连接位于本地挂起事务中,excutereader要求命令拥有事务。命令的transaction属性尚未初始化。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/6 12:07:00 [只看该作者]

执行存储过程,不能启用事务。

 


 回到顶部
帅哥哟,离线,有人找我吗?
18523500398
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1150 威望:0 精华:0 注册:2018/9/17 11:16:00
  发帖心情 Post By:2018/11/6 12:30:00 [只看该作者]

好的吧,谢谢有点甜。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/6 14:42:00 [只看该作者]

如果要用事务,建议你把多个存储过程,合并在一个大的存储过程里面,直接执行这个存储过程。

 回到顶部