ASP.NET中,我用GRIDVIEW控件对数据库修改操作时实现多表库操作
ASP.NET中,我用GRIDVIEW控件对数据库修改操作时,假如是修改一个表中的某个字段相应的其他表中与他有关的字段也会发生相应的改变。最好能举例说明一下...
ASP.NET中,我用GRIDVIEW控件对数据库修改操作时,假如是修改一个表中的某个字段相应的其他表中与他有关的字段也会发生相应的改变。最好能举例说明一下
展开
2个回答
2013-09-14
展开全部
多表操作需要用到事务,放个list 然后把两条sql 语句放到list中 一起提交! List<list> list = new List<list>(); list sql = examinationcontenBll.Addlist(examinationcontent); list.Add(sql); list sql1 = choosecontentBll.AddList(choosecontenInfo);
list.Add(sql1); int resu = choosecontentBll.Returns(list);
if (resu > 0){成功}else{失败} 事务的方法: public static int Returns(List<Model.list> li)
{
int i = 0;
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{ for (int n = 0; n < li.Count; n++)
{
string strsql = li[n].Str.ToString();
SqlParameter[] par = li[n].Para;
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
if (par != null)
{
cmd.Parameters.Clear();
foreach (SqlParameter parm in par)
cmd.Parameters.Add(parm);
}
i = cmd.ExecuteNonQuery(); }
} tx.Commit(); }
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
return 0;
throw new Exception(E.Message); } }
return i;
}
list.Add(sql1); int resu = choosecontentBll.Returns(list);
if (resu > 0){成功}else{失败} 事务的方法: public static int Returns(List<Model.list> li)
{
int i = 0;
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{ for (int n = 0; n < li.Count; n++)
{
string strsql = li[n].Str.ToString();
SqlParameter[] par = li[n].Para;
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
if (par != null)
{
cmd.Parameters.Clear();
foreach (SqlParameter parm in par)
cmd.Parameters.Add(parm);
}
i = cmd.ExecuteNonQuery(); }
} tx.Commit(); }
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
return 0;
throw new Exception(E.Message); } }
return i;
}
2013-09-14
展开全部
多表操作应该需要执行多个sql语句 就可以实现了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询