在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
using System;
using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; namespace DB { /// DBSql 的摘要说明。 /// 使用SQL驱动进行操作的类 /// </summary> public class DBSql { public DBSql() { // TODO: 在此处添加构造函数逻辑 setConn(); } //=========================================================== // connecting to Database (数据库连接) protected SqlConnection myCn; // SQL connecting string (连接数据库的字符串) protected string strConn; // SQL command (要执行的sql语句) protected static string strSQL; #endregion //=========================================================== // 虚函数 protected virtual void setConn() { // 在web.config里设置数据库的连接信息 strConn=ConfigurationSettings.AppSettings["strConnection"]; myCn = new SqlConnection(strConn); } /// 执行 SQL 语句 /// </summary> /// <param name="strSQL">要执行的SQL语句,为字符串类型string</param> /// <returns>返回执行情况,整形int</returns> protected int ExecuteSqlEx(string strSQL) SqlCommand myCmd = new SqlCommand(strSQL,myCn); try { myCn.Open(); SqlDataReader myReader = myCmd.ExecuteReader(); if(myReader.Read()) { return 0; } else { throw new Exception("Value Unavailable!"); } } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { myCmd.Dispose(); myCn.Close(); } } /// 得到数据集DataSet /// </summary> /// <param name="strSQL">(string)</param> /// <returns>(DataSet)</returns> protected DataSet ExecuteSql4Ds(string strSQL) try { myCn.Open(); SqlDataAdapter sda = new SqlDataAdapter(strSQL,myCn); DataSet ds = new DataSet("ds"); sda.Fill(ds); return ds; } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { myCn.Close(); } } /// 得到对象 object /// </summary> /// <param name="strSQL">(string)</param> /// <returns>(object)</returns> protected object ExecuteSql4ValueEx(string strSQL) SqlCommand myCmd = new SqlCommand(strSQL,myCn); try { myCn.Open(); object r = myCmd.ExecuteScalar(); return r; } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { myCmd.Dispose(); myCn.Close(); } } /// 事务执行函数 /// </summary> /// <param name="strSQLs">string</param> /// <returns>int</returns> protected int ExecuteTransSqls(ArrayList strSQLs) SqlCommand myCmd = new SqlCommand(); try { myCn.Open(); } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } SqlTransaction myTrans = myCn.BeginTransaction(); try { //从此开始,基于该连接的数据操作都被认为是事务的一部分 //下面绑定连接和事务对象 myCmd.Connection = myCn; myCmd.Transaction = myTrans; for(int i=0;i<strSQLs.Count;i++) { myCmd.CommandText = strSQLs[i].ToString(); myCmd.ExecuteNonQuery(); } myTrans.Commit(); return 0; } catch(System.Data.SqlClient.SqlException e) { //事务回滚 myTrans.Rollback(); throw new Exception(e.Message); } finally { myCmd.Dispose(); myCn.Close(); } } #endregion //=========================================================== } } 代码确实简陋了点儿! —_—! |
请发表评论