点击插入按钮后的代码:
    protected void Button2_Click(object sender, EventArgs e)
    {
        Random myr=new Random();
        localhost.RenWu renwu = new localhost.RenWu();
        renwu.rwid = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ","") + myr.Next() % 1000;
        renwu.fromPerson = "安文广";
        renwu.toPerson = "朱建林";
        renwu.sendTime = DateTime.Now;
        renwu.place = "办公楼603";
     renwu.MX=new localhost.mingxi[2];
        renwu.MX[0] = new localhost.mingxi();
        renwu.MX[0].spid = 56;
        renwu.MX[0].spname = "满天星";
        renwu.MX[1] = new localhost.mingxi();
        renwu.MX[1].spid = 89;
        renwu.MX[1].spname = "富贵竹";
        if (mys.AddRW(renwu))//它的方法代码在下面
            Label1.Text = "插入成功";
        else
            Label1.Text = "插入失败";
    }
}2.上面的if(mys.addrw(renwu))中的addrw()方法代码如下:
      [WebMethod]
    public bool AddRW(RenWu rw)
    {
        try
        {
            Hashtable sqlht = new Hashtable();
            sqlht.Add("1", "insert into t_rw(rwid,fromPerson,toPerson,sendTime,place,znum,zprice,status,note) values('" + rw.rwid + "','" + rw.fromPerson + "','" + rw.toPerson + "','" + rw.sendTime + "','" + rw.place + "','" + rw.zNum + "','" + rw.zprice + "','未配送','" + rw.note + "')");
            for (int i = 0; i < rw.MX.Length; i++)
            {
                sqlht.Add((i + 2).ToString(), "insert into t_rwdetail(rwid,spid,spname,price,num,zprice,note) values('" + rw.rwid + "','" + rw.MX[i].spid + "','" + rw.MX[i].spname + "','" + rw.MX[i].price + "','" + rw.MX[i].num + "','" + rw.MX[i].zprice + "','" + rw.MX[i].note + "')");
            }
            return myTran.DoManyTran(sqlht);//它的代码在下面
        }
        catch
        {
            return false;
        }
    }
    [WebMethod]
3.DoManyTran(sql)方法代码如下:
        public bool DoManyTran(Hashtable sqls)
       {
           //建立连接并打开            myConn.Open();           SqlCommand myComm = new SqlCommand();
           SqlTransaction myTran;
           //创建一个事务 
           myTran = myConn.BeginTransaction(System.Data.IsolationLevel.Serializable, "begin");
           //从此开始,基于该连接的数据操作都被认为是事务的一部分 
           //下面绑定连接和事务对象 
           myComm.Connection = myConn;
           myComm.Transaction = myTran;
           try
           {
               if (sqls.Count>0)
               {
                   for (int i = 1; i <= sqls.Count; i++)
                   {
                       myComm.CommandText = (string)sqls[i.ToString()];
                       int m=myComm.ExecuteNonQuery();
                   }
               }
               //提交事务 
               myTran.Commit();
               return true;           }
           catch (Exception err)
           {
               //更新错误,回滚到指定存储点 
               myTran.Rollback("begin");
               return false;
           }
           finally
           {
               myConn.Close();
           }
       } 执行上面的代码以后就会捕捉出现的异常:将截断二进制数据或者字符串,语句已经终止哪位可以帮我分析一下是哪里出了错误啊,帮帮忙啦。