你这是两个问题?
1、不知道你是怎么使用,不过建议不要返回DataReader,因为DataReader需要close,你在返回之后就不知道什么时候该将此DataReader关闭了。
2、“让一个函数能够完成一大堆的SQl语句且能够遵循事务处”,将你要做的操作写道一个方法里面就可以了。
public void MyMethode()
{
SqlConnection conn = ......;
SqlTransaction aTrans = conn.BeginTransaction(IsolationLevel.ReadCommitted, "MyTrans");
......
try
{
//做你想做的处理
}
catch(Exception e)
{
aTrans.Rollback("MyTrans");
}
......
aTrans.Commit();
conn.Close();
}
1、不知道你是怎么使用,不过建议不要返回DataReader,因为DataReader需要close,你在返回之后就不知道什么时候该将此DataReader关闭了。
2、“让一个函数能够完成一大堆的SQl语句且能够遵循事务处”,将你要做的操作写道一个方法里面就可以了。
public void MyMethode()
{
SqlConnection conn = ......;
SqlTransaction aTrans = conn.BeginTransaction(IsolationLevel.ReadCommitted, "MyTrans");
......
try
{
//做你想做的处理
}
catch(Exception e)
{
aTrans.Rollback("MyTrans");
}
......
aTrans.Commit();
conn.Close();
}
如果你想进行操作而不是读取,还要用事务处理就很简单了。