点击插入按钮后的代码:
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();
}
} 执行上面的代码以后就会捕捉出现的异常:将截断二进制数据或者字符串,语句已经终止哪位可以帮我分析一下是哪里出了错误啊,帮帮忙啦。
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();
}
} 执行上面的代码以后就会捕捉出现的异常:将截断二进制数据或者字符串,语句已经终止哪位可以帮我分析一下是哪里出了错误啊,帮帮忙啦。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货