.net中使用access数据库事务
我用asp.netC#开发一个小的系统.数据库用access..使用两层分层..数据库访问层如下:namespaceaccess{publicclassaccess{pu...
我用asp.net C#开发一个小的系统.数据库用access..
使用两层分层..
数据库访问层如下:
namespace access
{
public class access
{
public access()
{
}
private static string connstring = System.Configuration.ConfigurationManager.AppSettings["ConnectString"];
/// <summary>
/// 从数据库取数据进行查询操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataSet GreatDs(string sql)
{
OleDbDataAdapter Dar = new OleDbDataAdapter(sql, connstring);
DataSet ds = new DataSet();
Dar.Fill(ds);
return ds;
}
/// <summary>
/// 对数据库进行增删改的操作
/// </summary>
/// <param name="sql"></param>
public static void DoSql(string sql)
{
OleDbConnection conn = new OleDbConnection();//创建连接对象
conn.ConnectionString = connstring;//给连接字符串赋值
conn.Open();//打开数据库
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();//
conn.Close();//关闭数据库
}
}
}
如何在其上一层,业务逻辑层实现数据库操作的事务....................
希望哪位高手给出详细代码.谢谢! 展开
使用两层分层..
数据库访问层如下:
namespace access
{
public class access
{
public access()
{
}
private static string connstring = System.Configuration.ConfigurationManager.AppSettings["ConnectString"];
/// <summary>
/// 从数据库取数据进行查询操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataSet GreatDs(string sql)
{
OleDbDataAdapter Dar = new OleDbDataAdapter(sql, connstring);
DataSet ds = new DataSet();
Dar.Fill(ds);
return ds;
}
/// <summary>
/// 对数据库进行增删改的操作
/// </summary>
/// <param name="sql"></param>
public static void DoSql(string sql)
{
OleDbConnection conn = new OleDbConnection();//创建连接对象
conn.ConnectionString = connstring;//给连接字符串赋值
conn.Open();//打开数据库
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();//
conn.Close();//关闭数据库
}
}
}
如何在其上一层,业务逻辑层实现数据库操作的事务....................
希望哪位高手给出详细代码.谢谢! 展开
展开全部
在cmd的执行之前 BeginTransaction,执行完后 Commit 即可。出现错误那就RollBack。
比如:
try{
cmd.Transaction=conn.BeginTransaction(); //开始事务
cmd.ExecuteNonQuery(); //执行
cmd.Transaction.Commit(); //提交事务
}catch(Exception){
cmd.Transaction.RollBack(); //出错就回滚
}
比如:
try{
cmd.Transaction=conn.BeginTransaction(); //开始事务
cmd.ExecuteNonQuery(); //执行
cmd.Transaction.Commit(); //提交事务
}catch(Exception){
cmd.Transaction.RollBack(); //出错就回滚
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询