其他分享
首页 > 其他分享> > 数据访问函数库的使用方法(二)—— 获取记录集和使用事务的方法

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

作者:互联网


使用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 。
            /// 


标签:函数库,dal,col2,记录集,TableName,col1,sql,方法,select
来源: https://blog.51cto.com/u_15179455/2729629