弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 1759|回复: 0

【C#】关于数据操作的回滚

[复制链接]
发表于 2020-2-16 00:31:01 | 显示全部楼层 |阅读模式
SqlCommand cmd = con.CreateCommand();
SqlTransaction transaction;
transaction=con.BeginTransaction();
cmd.Connection = con;

try
{
    string re = "";

    cmd.CommandText = "SELECT * FROM HD_Partner WHERE HD_User_ID=" + UserID;
    SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, con);
    SqlCommandBuilder cb = new SqlCommandBuilder(da);
    da.SelectCommand.Transaction = transaction;
    DataTable dt = new DataTable("HD_Parter");
    da.Fill(dt);
    DataRow dr;
    if (dt.Rows.Count == 0)
    {
        dr = dt.NewRow();
    }
    else
    {
        dr = dt.Rows[0];
    }
    dr["HD_User_ID"] = UserID;
    dr["HD_Partner_ID"] = partnerid;
    if (dt.Rows.Count == 0)
    {
        dt.Rows.Add(dr);
        da.Update(dt);
    }
    else
    {
        da.Update(dt);
        dt.AcceptChanges();
    }
    dt.Dispose();
    da.Dispose();
    cmd.CommandText = "UPDATE HD_User SET HD_Partner_ID=" + partnerid + " WHERE HD_ID=" + UserID;
    cmd.Transaction = transaction;
    cmd.ExecuteNonQuery();
    cmd.Dispose();

    transaction.Commit();
    re = "{\"stat\":\"ok\",\"msg\":\"提交成功!\"}";
    return re;
}
catch (Exception e)
{
    transaction.Rollback();
    return "{\"stat\":\"err\",\"msg\":\"提交失败(" + e.Message + ")!\"}";
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-4-20 07:49 , Processed in 0.072892 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表