Settings.settings是否修改了连接字符串?

解决方案 »

  1.   

    楼主是对xsd强类型的DataSet进行操作?
      

  2.   

    this.taActBidding.Update(dtActBidding);
    运行这句正常,但运行this.taBiddingSct.Update(dtBiddingSct);出错
      

  3.   

    是的,对多个表添加了数据,所以用了事务。代码如下:
    DateTime dt = DateTime.Now;
                DSAll.AccountDataTable dtAct = new DSAll.AccountDataTable();
                DSAll.Account_BiddingDataTable dtActBidding = new DSAll.Account_BiddingDataTable();
                DSAll.Bidding_SectionDataTable dtBiddingSct = new DSAll.Bidding_SectionDataTable();
                //添加会节信息
                DataRow drSct = dtBiddingSct.NewRow();
                drSct[dtBiddingSct.IDColumn] = Guid.NewGuid().ToString();
                drSct[dtBiddingSct.BSOrderColumn] = this.Order;
                drSct[dtBiddingSct.SticksColumn] = this.Sticks;
                drSct[dtBiddingSct.BiddingTotalColumn] = this.iBiddingTotal;
                drSct[dtBiddingSct.BiddingRealTotalColumn] = this.iBiddingTotal;
                drSct[dtBiddingSct.StartColumn] = this.dtpFrom.Value.ToShortDateString();
                drSct[dtBiddingSct.EndColumn] = this.dtpTo.Value.ToShortDateString();
                drSct.EndEdit();            dtBiddingSct.Rows.Add(drSct);
                //添加会员会节信息
                DataRowCollection drc = this.taAccount.GetData().Rows;
                foreach (DataRow dr in drc)
                {
                    DataRow drActBidding = dtActBidding.NewRow();
                    drActBidding[dtActBidding.IDColumn] = Guid.NewGuid().ToString();
                    drActBidding[dtActBidding.BSOrderColumn] = this.Order;
                    drActBidding[dtActBidding.AccountIDColumn] = dr[dtAct.IDColumn.ToString()];
                    drActBidding[dtActBidding.AccountNameColumn] = dr[dtAct.AccountNameColumn.ToString()];
                    drActBidding[dtActBidding.BiddingCountColumn] = 0;
                    drActBidding[dtActBidding.BiddingRealCountColumn] = 0;
                    drActBidding[dtActBidding.CreateDateColumn] = dt.ToShortDateString();
                    drActBidding[dtActBidding.ModifyDateColumn] = dt.ToShortDateString();
                    drActBidding.EndEdit();                dtActBidding.Rows.Add(drActBidding);
                }
      

  4.   

    对xsd强类型的DataSet要进行事务处理和传统两样哦!
    要创建一个对应某个xsd中的Adapter的partial类用于事务处理!
    这个说来话长!!
      

  5.   

    LS说的PARTIAL ADAPTER类,我看过,但因时间关系也没去研究,采用我现在这种方法去做,本来是正常的,后来不知怎么回事就不行了。
      

  6.   

    问题解决,少了句this.taActBidding.Connection = this.taBiddingSct.Connection
      

  7.   

    你这种方式也能处理xsd的事务?这倒没研究过!!
    有点怀疑,如果不出错是否真的进行了事务处理?
    从道理上来说你的
      this.taActBidding.Update(dtActBidding);
      this.taBiddingSct.Update(dtBiddingSct);
    就是两个连接,但事务处理是在一个连接中进行处理的!
      

  8.   

    呵呵,你可以试一下,我测试过,只要不执行commit数据是不会被写入数据库的。
      

  9.   

    我的假设:
    XSD每个TA对象都有独立的连接对象。TA中的Update方法调用的连接是自身的CONNECTION,在前面经过赋值后其实就是同一个CONNECTION。至此两个UPDATE调用的是同一个CONNECTION,并用的是同一个CONNECTION生成的TRANSLATE对象。