以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 主从表事务 获取主表id (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171280) |
|
-- 作者:hgy -- 发布时间:2021/8/25 10:23:00 -- 主从表事务 获取主表id 要得到主表的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() 数据库死锁,显示查询已超时,是否哪里出现问题
|
|
-- 作者:有点蓝 -- 发布时间:2021/8/25 10:36:00 -- 完整代码? |
|
-- 作者:hgy -- 发布时间: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
|
|
-- 作者:有点蓝 -- 发布时间:2021/8/25 10:54:00 -- 把事务放到循环里
|