Foxtable(狐表)用户栏目专家坐堂 → 跟二进制耗上了,继续请教


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

主题:跟二进制耗上了,继续请教

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


加好友 发短信
等级:六尾狐 帖子:1421 积分:11294 威望:0 精华:0 注册:2008/9/1 22:20:00
跟二进制耗上了,继续请教  发帖心情 Post By:2015/9/23 11:13:00 [只看该作者]

以下代码从命令窗口测试正常(命令窗口return语句改为return nothing),但是放到任务栏就报错:

System.InvalidOperationException: OleDbTransaction 已完成;它再也无法使用。

   System.Data.OleDb.OleDbTransaction.Commit()

   Foxtable.Connection.Commit()

   UserCode.Ab2sVfnWKSLDdT4vZ(TopicLinkEventArgs e)


难道不能用数据库事务?


                    Tables("文件模板").Filter="[文件名]='正式工工资考勤导入模板'"
                    If Tables("文件模板").Current Is Nothing Then
                        Return
                    End If
                    Dim dr As DataRow = Tables("文件模板").Current.DataRow
                    If dr.RowState = DataRowState.Added Then '如果是新增行,必须先保存才能插入文件
                        dr.Save()
                    End If
                        Dim fl As String =  ProjectPath &  dr("_Identify") & ".xls"
                        If dr.SQLLoadFile("文件",fl) Then '如果提取文件成功
                            Dim Proc As New Process '打开文件
                            Proc.File = fl
                            Proc.Start()
                        End If
           
[此贴子已经被作者于2015/9/23 11:16:49编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/23 11:18:00 [只看该作者]

代码只要正确,放在那里都没问题。

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


加好友 发短信
等级:六尾狐 帖子:1421 积分:11294 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/23 11:19:00 [只看该作者]

请教大红袍,这几句提示的哪方面的问题?是否和加了事务有关?

System.InvalidOperationException:  OleDbTransaction 已完成;它再也无法使用。

    System.Data.OleDb.OleDbTransaction.Commit()

    Foxtable.Connection.Commit()

    UserCode.Ab2sVfnWKSLDdT4vZ(TopicLinkEventArgs e)


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/23 11:20:00 [只看该作者]

同样的代码,不可能在另外一个地方就不行。

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


加好友 发短信
等级:六尾狐 帖子:1421 积分:11294 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/23 11:21:00 [只看该作者]

任务栏代码加了数据库事务处理

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


加好友 发短信
等级:六尾狐 帖子:1421 积分:11294 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/23 11:24:00 [只看该作者]

测试了一下,注释掉任务栏数据库事务代码后,正常了,难道二进制列不支持使用事务?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/23 11:28:00 [只看该作者]

封装的方法里面,和你加的事务,不是同一个。你也可以理解成你无法控制里面的东西。如果出错,会给你返回值的

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


加好友 发短信
等级:六尾狐 帖子:1421 积分:11294 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/23 11:40:00 [只看该作者]

也就是说SQLLoadFile方法并不是常规访问数据库的方法,数据库事务不支持

改为常规访问方式就可以了,是这个意思吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/23 11:43:00 [只看该作者]

你用事务,也检查不出错误,因为它不是sql语句。

 

而且,方法里面已经用了事务了。


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


加好友 发短信
等级:六尾狐 帖子:1421 积分:11294 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/23 14:34:00 [只看该作者]

请问,有没有读写二进文件案例或者代码?谢谢。

 回到顶部
总数 11 1 2 下一页