当前位置:编程学习 > C#/ASP.NET >>

在C#中怎样同时插入两张表,sql语句怎么写?

谢谢各位高手莅临!谢谢! --------------------编程问答-------------------- 用事物处理,要么都插入成功,要么都失败 --------------------编程问答-------------------- 用存储过程吧 --------------------编程问答-------------------- SQL1 +" ; "+ SQL2  一起执行 --------------------编程问答--------------------   cnt.StartTran()
  if(tb1.InsertOK() && tb2.InsertOK()){
    ctn.Commit();
  }
  else cnt.RollBack();

代码自己找
  
--------------------编程问答-------------------- 建议存储过程 --------------------编程问答-------------------- 人家是不知道sql而已,不是性能问题

insert into --------------------编程问答-------------------- 调用procedure好一点 --------------------编程问答-------------------- 用个存储过程,判断第一条是否执行成功,在执行第二条 --------------------编程问答--------------------
引用 3 楼 creathly003 的回复:
SQL1 +" ; "+ SQL2  一起执行


这个可以,最好是用事务,一条一条的插入 --------------------编程问答-------------------- 用事务。网上搜一下吧。。 --------------------编程问答-------------------- 一个访问插两张表,就得事务了哇,出错了得回滚勒,还原到初始状态你用的哪样数据库哦 --------------------编程问答--------------------
引用 1 楼 hjywyj 的回复:
用事物处理,要么都插入成功,要么都失败


是这样的!

假设要简单写sql语句,你可以写例如
var sql="begin trans; insert .......; insert ....; end trans;"
假设不写begin tran.....end tran,那么sql server会分别自动启动两个事务来执行两个命令。而你显示地写上了begin transaction.....end trans对,那么sql server就会把这两个命令在一个事务来执行。

当然也可以使用ado.net来启动事务。参考:http://www.google.com.hk/search?hl=zh-CN&q=ado.net+transaction --------------------编程问答-------------------- 用事物处理,要么都插入成功,要么都失败
引用楼上:var sql="begin trans; insert .......; insert ....; end trans;"
把插入的2个表的SQL语句放到上面的sql中一起执行 --------------------编程问答-------------------- 赞同使用事务处理. --------------------编程问答-------------------- 用事务处理就可以了。都成功了就提交,失败了就回滚。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,