怎样同时向两个表插入数据

chuxuecharp 2005-04-05 10:56:05
RT!
是写两个SQL语句,执行两次呢.还是有办法可以一次执行的?
...全文
486 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
wq2000 2005-04-05
  • 打赏
  • 举报
回复
就事务那几句有用,别的去掉就行
wq2000 2005-04-05
  • 打赏
  • 举报
回复
写两个insert语句,用事务封装他们
public int Add(PowerMis.Model.JiaoPeiZhongXin.DianGongDangAn dgda)
{
using (SqlConnection conn = new SqlConnection(strDBConnectionString))
{
int ID=GetMaxId();
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into T_DianGongDangAn(");
strSql.Append("ID,XingMing,PhotoName,XingBie,ShengRi,WenHuaChD,DangYuan,ShenGao,");
strSql.Append("DianGongRiQi,DianGongBH,KeShidm,ShenFenZheng,BeiZhu");
strSql.Append(") values (");
strSql.Append(""+ID+",");
strSql.Append("'"+dgda.XingMing+"',");
strSql.Append("'"+dgda.PhotoName+"',");
strSql.Append("'"+dgda.XingBie+"',");
strSql.Append("'"+dgda.ShengRi+"',");
strSql.Append("'"+dgda.WenHuaChD+"',");
strSql.Append("'"+dgda.DangYuan+"',");
strSql.Append(""+dgda.ShenGao+",");
strSql.Append("'"+dgda.DianGongRiQi+"',");
strSql.Append("'"+dgda.DianGongBH+"',");
strSql.Append(""+dgda.KeShidm+",");
strSql.Append("'"+dgda.ShenFenZheng+"',");
strSql.Append("'"+dgda.BeiZhu+"'");
strSql.Append(")");


conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection=conn;
SqlTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
{
cmd.CommandText=strSql.ToString();
cmd.ExecuteNonQuery();

foreach(DianGongDangAnJL item in dgda.DianGongDangAnJLs)
{
strSql=new StringBuilder();
strSql.Append("insert into T_DianGongDangAnJL(");
strSql.Append("ID,RiQi,ZhiWu,ZhengMingRen,Count");
strSql.Append(") values (");
strSql.Append(""+ID+",");
strSql.Append("'"+item.RiQi+"',");
strSql.Append("'"+item.ZhiWu+"',");
strSql.Append("'"+item.ZhengMingRen+"',");
strSql.Append(""+item.Count+"");
strSql.Append(")");
cmd.CommandText=strSql.ToString();
cmd.ExecuteNonQuery();
}

foreach(DianGongDangAnHJ item in dgda.DianGongDangAnHJs)
{
strSql=new StringBuilder();
strSql.Append("insert into T_DianGongDangAnHJ(");
strSql.Append("ID,RiQi,JiLu,Count");
strSql.Append(") values (");
strSql.Append(""+ID+",");
strSql.Append("'"+item.RiQi+"',");
strSql.Append("'"+item.JiLu+"',");
strSql.Append(""+item.Count+"");
strSql.Append(")");
cmd.CommandText=strSql.ToString();
cmd.ExecuteNonQuery();
}

tx.Commit();

}
catch(System.Exception ex)
{
tx.Rollback();
throw new Exception("插入数据失败!"+ex.Message);
}
return ID;
}//using

}
hchxxzx 2005-04-05
  • 打赏
  • 举报
回复
有时候,我们的思想经常走入极端,妄想用一个简单的方法包含所有的应用。但这样的方法是不存在的。所以大多数的时候,我们还是需要一步一个脚印来做事情。
只要你把事情做得清楚,不怕麻烦,那自然就会有好的结果出来。
楼主的问题也是如此。
anycall2004 2005-04-05
  • 打赏
  • 举报
回复
写两条sql语句~写在一起好了
csdn5201 2005-04-05
  • 打赏
  • 举报
回复
好像不可以,一次插入两个表的吧
zhouweiwansui 2005-04-05
  • 打赏
  • 举报
回复
主从表吧?做一个存储过程去插入数据就可以了
sunny_blackhorse 2005-04-05
  • 打赏
  • 举报
回复
2个SQL语句,不过可以写在一个方法里
hackate 2005-04-05
  • 打赏
  • 举报
回复
写两个语句执行吧!
游戏Lan 2005-04-05
  • 打赏
  • 举报
回复
写2条语句就够了 最好用储存过程
  • 打赏
  • 举报
回复
写两条语句
sunnystar365 2005-04-05
  • 打赏
  • 举报
回复
楼上说的很对,用事务来做
SqlTransaction Trans;
Trans=cn.BeginTransaction();
cmd.Transaction=Trans;
{
insert into
insert into
Trans.Commit();

}
catch()
{
Trans.Rollback();

}
qingyun1020 2005-04-05
  • 打赏
  • 举报
回复
简单的就是用事务来做
HONGDUN 2005-04-05
  • 打赏
  • 举报
回复
写在存贮过程里头,分两条语句。
至于是否应该使用事务,那具体情况得看一下。因为使用事务性能会有影响的。
不推荐使用触发器,性能低,而且不好维护。
chuxuecharp 2005-04-05
  • 打赏
  • 举报
回复
触发器怎么做啊
coolsunwind 2005-04-05
  • 打赏
  • 举报
回复
存储过程吧
du9232 2005-04-05
  • 打赏
  • 举报
回复
存储过程比较好,无论是从性能上还是从维护上
whxleem 2005-04-05
  • 打赏
  • 举报
回复
.net的事务 或者数据库的存储过程 出发器等 当然具体的问题 要具体分析
xulovewei 2005-04-05
  • 打赏
  • 举报
回复
一定是要用事务的,保证写入数据的完整性,如果跨数据库操作,是得走com+的事务
pingnt 2005-04-05
  • 打赏
  • 举报
回复
用事务处理是较好的解决方法...
leileibinbin 2005-04-05
  • 打赏
  • 举报
回复
我的意见和 tmeteor() 相同,可以考虑触发器
加载更多回复(3)
内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧