标题:怎么向两张有关联的表中插入数据
只看楼主
zjq409421884
Rank: 1
来 自:余姚
等 级:新手上路
帖 子:56
专家分:0
注 册:2010-5-8
得分:0 
嗯,我去试下,谢谢啊

谁教我C#呀...愁
2010-12-31 23:29
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 
可以先修改一个表再修改另外一个表
定义一个事务,如果第二个出现错误就将第一个回滚
我也刚开始学习,下面是我们练习时候写的代码,不知道对你有没有用
int js_id = 0;
            SqlConnection conn = DBHelper.GetConn();
            conn.Open();
            SqlTransaction tran = conn.BeginTransaction();//事务处理的对象
            string sql = "INSERT INTO JS(JS_MC,JS_BZ) VALUES(@JS_MC,@JS_BZ) SELECT @@IDENTITY";

            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.Transaction = tran;//command中的命令将会受事务对象管理的
             = sql;
            SqlParameter para = new SqlParameter("@JS_MC", boJS.JS_MC);
            command.Parameters.Add(para);
            para = new SqlParameter("@JS_BZ", boJS.JS_BZ);
            command.Parameters.Add(para);

            try
            {
                js_id = Convert.ToInt32(command.ExecuteScalar());
                command.Parameters.Clear();//执行之后要清理一下参数

                sql = "INSERT INTO JSMK(JS_ID,MK_ID) VALUES(@JS_ID,@MK_ID) SELECT @@IDENTITY";
                = sql;
                para = new SqlParameter("@JS_ID",js_id);
                command.Parameters.Add(para);
                para = new SqlParameter();
                para.ParameterName = "@MK_ID";
                command.Parameters.Add(para);

                foreach (int mk_id in _listMK_id)
                {
                    command.Parameters["@MK_ID"].Value = mk_id;
                    command.ExecuteNonQuery();
                }
                ();//提交事务
            }
            catch (Exception)
            {
                tran.Rollback();//回滚事务
                throw;
            }
            finally
            {
                conn.Close();
            }
            return js_id;

www.qysy.tk
2011-01-04 12:07
wodebccnku
Rank: 2
等 级:论坛游民
帖 子:8
专家分:13
注 册:2011-1-11
得分:0 
在数据库中单独执行语句试试
2011-01-11 13:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-330158-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058318 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved