怎么解决下面的问题(有关记录重复,是不是要用事务和锁,该怎么使用)? 那怎么把B表中的REC值传给A表呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建立一个唯一索引。或者使用Trans 我想用trans但是不知道怎么用.NET 来写,能不能给我个范例。 SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");myConnection.Open();SqlTransaction myTrans = myConnection.BeginTransaction();myTrans.IsolationLevel = IsolationLevel.ReadCommitted;SqlCommand myCommand = myConnection.CreateCommand();myCommand.Transaction = myTrans;myCommand.CommandText = "insert into B (f1,rec) values ('xxx'," & re & ")"myCommand.ExecuteNonQuery();myCommand.CommandText = "insert into A (f1,rec) values ('yyy'," & re & ")"myCommand.ExecuteNonQuery();myTrans.Commit(); 谢谢dicman(小兵(闭关修炼中)) 海有个问题!你这段代码怎么保证B表中rec的唯一性呢? 你可以在数据库定义中对rec建立一个唯一索引 使用guid:http://blog.joycode.com/moslem/ 你怎么不能把B中的rec传给A呢?rec是怎样得到的你不知道吗? to:dicman(小兵(闭关修炼中)) 可以用触发器,也可以用存储过程,给表加锁。实际上你这样的算法还不如用自动增加的字段,虽然不推荐用自动增加字段。请dicman(小兵(闭关修炼中))讲讲为什么不推荐用自动增加字段?????? 真不好意思,不知道REC是怎么得到的。你能讲讲吗? 基本同意楼上的解答,同时如果你想得到你新加入记录的自动增加字段时并不是很容易!cuc3com(蓝狼)你的rec字段在数据库中是怎样定义的?在程序里代表什么含义? rec 是提供A表和B表相互联系的。B和A是一对多关系。就象在我们设计库存管理系统时,建立入库单表时,会同时建立2个表,一个表储存入库单编号,进货单位等入库单中唯一的信息,而另一个表储存 入库单号,入库材料,数量,金额等多条记录。两表通过入库单建立连接关系。我的rec字段可以理解成入库单号码。 to:athossmth(athos) 你提供的连接不能打开啊 我再把问题说一遍吧,B表中的REC字段不是自动增加的,它是通过comm.commandtext="select max(rec) from B"re=cint(comm.ExecuteScalar())+1而得到的。现在的难点是,如果有2人同时操作,就会得出同样的结果。请各位老大帮忙,怎么解决,小弟先谢谢了。 erist(情升网络) 你能具体讲一下吗? 我也想得到全一点的C#代码,就是 在多人操作的时候要避免ID的重复 使用自增字段 有问题吗?用guid()生成一个唯一变量也可以 关于数据绑定问题 求一个免费的甘特图控件,急急急急 在网页的特定位置预览HTML代码效果 一个奇怪的问题 高手进来看看 关于iframe下清空Cookie的问题 郁闷的很html和xhtml 表格背景图片问题!! 查询数据是否为空c#?? 用asp写的一个update方法! 求一个取径阶的算法,逢2进位取整数。 50分求简单问题回答!!!textbox数据写入数据库再通过label读出换行的问题!!! 大家编辑asp.net用什么工具啊 请帮我看看
myConnection.Open();SqlTransaction myTrans = myConnection.BeginTransaction();
myTrans.IsolationLevel = IsolationLevel.ReadCommitted;SqlCommand myCommand = myConnection.CreateCommand();
myCommand.Transaction = myTrans;myCommand.CommandText = "insert into B (f1,rec) values ('xxx'," & re & ")"
myCommand.ExecuteNonQuery();
myCommand.CommandText = "insert into A (f1,rec) values ('yyy'," & re & ")"
myCommand.ExecuteNonQuery();
myTrans.Commit();
海有个问题!你这段代码怎么保证B表中rec的唯一性呢?
cuc3com(蓝狼)
你的rec字段在数据库中是怎样定义的?在程序里代表什么含义?
你提供的连接不能打开啊
comm.commandtext="select max(rec) from B"
re=cint(comm.ExecuteScalar())+1
而得到的。
现在的难点是,如果有2人同时操作,就会得出同样的结果。请各位老大帮忙,
怎么解决,小弟先谢谢了。
用guid()生成一个唯一变量也可以