您的位置:首页 > 其它

数据访问函数库的使用方法(二)—— 获取记录集和使用事务的方法

2008-04-28 15:30 288 查看
使用SQL语句来获取记录集的方法


string sql = "select col1,col2,col3

from TableName where

";


//获取DataTable


DataTable dt = dal.RunSqlDataTable(sql);




//获取DataSet


sql = "select col1,col2,col3

from TableName where

";


sql += " select col1,col2,col3

from TableName2 where

";


sql += " select col1,col2,col3

from TableName3 where

";


//



DataSet ds = dal.RunSqlDataSet(sql);


//ds.Tables[0]; //TableName 的记录


//ds.Tables[1]; //TableName2 的记录


//ds.Tables[2]; //TableName3 的记录




//只获取一条记录,记录保存到 string[] 里面


sql = "select col1,col2,col3

from TableName where ID = 1";


string[] values1 = dal.RunSqlStrings(sql);





//只获取一条记录,记录保存到 DataRow 里面。可以通过字段名称来获取


DataRow dr = dal.RunSqlDataRow(sql);




//只获取第一条记录的第一个字段的值


sql = "select col1 from TableName where ID = 1";


sql = "select sum(col2) from TableName ";


string colValue = dal.RunSqlGetID(sql);




//获取每一条记录的第一个字段的值。


sql = "select col1 from TableName where KindID = 1";


sql = "select sum(col2) from TableName group by KindID";


string[] values2 = dal.RunSqlStringsByRow(sql);






/**//// 主要以DataTable 为数据载体。


/// 使用 DataTable 可以很方便的实现“通用”性,可以直接和许多控件绑定。


/// 使用 string[] 保存一条记录的数据,可以更轻量快捷的提取和保存数据。适用于字段比较少的情况。


/// 如果字段比较多可以使用 dal.RunSqlDataRow(sql); 的方式。


///



启用事务的方法


//使用事务的实例


//开始一个事务


dal.TranBegin();


//这时会open 一个连接。




dal.InsertDataStr("TableName1",str1,str); //添加数据




if (dal.ErrorMsg.Length > 2)






{


//出现异常,函数内部会自动回滚事务,并且关闭连接


return ; //终止程序,最好能够给出提示


}




//判断是否正常执行,


if (false) //没有正常执行,回滚事务






{


dal.TranRollBack(); //回滚事务,自动关闭连接 。


return ; //不能继续向下执行!


}




//执行下一个操作


dal.UpdateData("TableName2",str1,str,"ID = 2 "); //修改数据


if (dal.ErrorMsg.Length > 2)






{


//出现异常,函数内部会自动回滚事务,并且关闭连接


return ; //终止程序,最好能够给出提示


}


//判断是否正常执行,


if (false) //没有正常执行,回滚事务






{


dal.TranRollBack(); //回滚事务,自动关闭连接 。


return ; //不能继续向下执行!


}




//其他操作。




//比如 : colValue = dal.RunSqlGetID(sql);




dal.TranCommit(); //提交事务,自动关闭连接 。








/**//// 优点:在函数内部自动处理连接的打开和关闭的问题。


/// sql语句出现错误的时候,会在/log/里面建立一个文本文件,记录出错的信息。


/// 可以通过查看这个文件,快速分析出来出错原因,在使用sql语句的情况下帮助很大。





/// 缺点:没有提供 DataReader 。


///
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐