Foxtable(狐表)用户栏目专家坐堂 → 主从表事务 获取主表id


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

主题:主从表事务 获取主表id

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


加好友 发短信
等级:幼狐 帖子:63 积分:580 威望:0 精华:0 注册:2021/7/21 17:16:00
主从表事务 获取主表id  发帖心情 Post By:2021/8/25 10:23:00 [显示全部帖子]

要得到主表的id 存入从表
cmd.BeginTransaction()      
dim _id as integer 
for i=1 to 20    
cmd.CommandText = "insert into [tb_test] (p_id,c_date) values (?,?);select SCOPE_IDENTITY() as id"
            
            cmd.Parameters.Add("@p_id",_platid)
            cmd.Parameters.Add("@c_date",Date.Today)
            _id =   cmd.ExecuteScalar()
next 
cmd.commit()

数据库死锁,显示查询已超时,是否哪里出现问题

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


加好友 发短信
等级:幼狐 帖子:63 积分:580 威望:0 精华:0 注册:2021/7/21 17:16:00
  发帖心情 Post By:2021/8/25 10:40:00 [显示全部帖子]

Try
    cmd.BeginTransaction()
    Dim _id As Integer
    For i=1 To 20
        
        cmd.Parameters.Clear()
        cmd.CommandText = "insert into [tb_test] (p_id,c_date) values (?,?);select SCOPE_IDENTITY() as id"
        
        cmd.Parameters.Add("@p_id",_platid)
        cmd.Parameters.Add("@c_date",Date.Today)
        _id =   cmd.ExecuteScalar()
        
        cmd.Parameters.Clear()
        cmd.CommandText = "insert into [tb_test_detail] (p_id,test_id) values (?,?)"
        
        cmd.Parameters.Add("@p_id",_platid)
        cmd.Parameters.Add("@test_id",_id) ' 主表id
        cmd.ExecuteNonQuery()
    Next
    cmd.commit()
    
Catch ex As Exception
    cmd.Rollback()
    MessageBox.Show(ex.Message)
End Try

 回到顶部