Foxtable(狐表)用户栏目专家坐堂 → 利用下拉窗口进行赋值,该怎么改成事务的方式处理啊?


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

主题:利用下拉窗口进行赋值,该怎么改成事务的方式处理啊?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
利用下拉窗口进行赋值,该怎么改成事务的方式处理啊?  发帖心情 Post By:2019/9/6 9:33:00 [显示全部帖子]

下拉窗口的dropdownclosed事件:
If e.Form.dropdownbox.name="启动fa piao结转"
    If e.Selected Then '如果选择了值
        Dim tbl As Table = Tables("增加合同下拉窗口_table1")
        If tbl.Current IsNot Nothing Then
            Tables("租赁合同结转情况表").current("合同编号")=tbl.current("合同编号")
            Tables("租赁合同结转情况表").current("合同属性")=tbl.current("合同属性")
    Tables("租赁合同结转情况表").current("合同状态")=tbl.current("合同状态")
            Tables("租赁合同结转情况表").current("项目名称")=tbl.current("项目名称")
        End If
    End If
End If
引用下拉窗口的dropdownbox 所在的模式窗口(窗口控件已绑定表字段)的 确定按钮
Dim drr1 As Row = Tables("租赁合同结转情况表").current
If e.Form.Controls("启动fa piao结转").value Is Nothing
    messagebox.show("合同相关信息不能为空")
Else
    drr1("创建日期")=rq
    drr1("创建人")=_UserName
    drr1.save
endif

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/9/6 9:34:55编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 10:17:00 [显示全部帖子]

以上利用下拉窗口进行赋值的操作,怎么改成帮助中,"数据库事务"的方式赋值啊?如果采用这种方式,窗口的控件是不是就不能绑定到表字段啊?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 10:29:00 [显示全部帖子]

问题是:点击 确定按钮后,增加的数据量(我贴到只是部分赋值操作)比较大,不用 事务处理,怕用户端的操作没有执行完毕啊。
我的思路是(还没测):把窗口的控件跟表字段不关联,然后 点击 确定 按钮后,执行sql insert语句,把窗口控件的值传给 insert的value参数,如果sql没执行完毕,就回滚。不知道思路对不对啊。

如果这个思路没问题的话,insert成功后,怎么找到这一行(找到_identify),追载或加载到用户本地啊?
[此贴子已经被作者于2019/9/6 10:38:30编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 16:54:00 [显示全部帖子]

Try
     Connections("cs2").BeginTransaction() '开始事务
      Dim cmd As new SQLCommand
      cmd.C

      cmd.CommandText = "Insert Into 租赁合同结转情况表……     ‘第一次新增操作
      cmd.ExecuteNonQuery
      ……
      cmd.CommandText = "Insert Into 租赁合同结转情况表……    ’第二次新增操作
      cmd.ExecuteNonQuery
     ……
      查询 第一次新增的行是否存在——应该怎么写代码(功能是需要步骤项某一行写数据,执行下边的update。想实现若存在符合条件的行就update,不存在就insert)? 可以用sqlfind查找吗? Dim drf As DataRow=DataTables("租赁合同结转情况表").sqlfind(……
      cmd.CommandText = "UPDAT  ……
      cmd.ExecuteNonQuery

       ……
      cmd.CommandText = "Insert Into 租赁合同结转情况表……    ’第三次新增操作
      cmd.ExecuteNonQuery

        Connections("cs2").Commit

     Catch ex As Exception '如果出错
        Connections("cs2").Rollback() '回滚事务,撤销所有操作
   End Try

[此贴子已经被作者于2019/9/6 16:58:28编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 17:26:00 [显示全部帖子]

目前需求是这样的,
有一个接口传输来的数据:
编号   类别     金额
A01   租金     10            json第1条数据
A01   服务费   11           json第2条数据
A01   违约金   12            json第3条数据
……
接收数据的表结构:
编号   租金金额     服务费金额   违约金金额     ……
A01    10             11               12

因为接收的数据比较多,我想用事务进行处理:
目前做法是:
1、循环json,
2、看是否有编号为 A01 的行,若不存在则 insert,否则update。
但是若事务未提交,则怎么判断,是否insert过符合条件的行啊?
或者我的思路有问题吗,应该怎么改啊。

[此贴子已经被作者于2019/9/6 17:29:12编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 17:45:00 [显示全部帖子]

http://ls.xinlianhuichuang.com/v1/lsjyje?id=ZKD-A地块信息技术-2019-08-16-001

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 20:36:00 [显示全部帖子]

多个insert 的sql语句组成的事务还没正式提交,怎么在事务中进行sql查询哪些已经insert过啊?(我现在想有个笨的方法,把接口的所有数据赋值给临时表,把金额列由竖排,变成横排。然后循环临时表的所有行,只进行insert操作而不用进行update操作。但是这样处理太麻烦了) 难道是可以, cmd.CommandText = "Insert Into 租赁合同结转情况表……假设有个 id=1 ‘第一次新增操作 cmd.ExecuteNonQuery …… cmd.CommandText = "UPDAT ……where id=1 cmd.ExecuteNonQuery
[此贴子已经被作者于2019/9/6 21:04:23编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/6 22:08:00 [显示全部帖子]

还是没明白怎么操作啊,怎么在事务中执行sql查询更改的数据啊,大概用什么命令啊?比如事务中用insert 一条id=1的记录,在事务中怎么查询这个insert的记录啊?谢谢
[此贴子已经被作者于2019/9/6 22:08:20编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/9 9:37:00 [显示全部帖子]

知道怎么操作了

[此贴子已经被作者于2019/9/9 9:38:32编辑过]

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/9/9 12:35:00 [显示全部帖子]

查到符合条件的多行,更新按时间排序的第一条数据的update语句该怎么写啊?以下提示order附近有语法错误(代码贴上去,发不了贴,只能上传个图片了)。谢谢


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/9/9 12:35:33编辑过]

 回到顶部
总数 22 1 2 3 下一页