初学ADO.NET时写的数据库访问类 /************************************************* OleDb **************************************************/ using System; using System.IO; using System.Data; using System.Data.OleDb; using System.Configuration; namespace Db { /// <summary> /// /// </summary> public class OleDb { public OleDb() { // // TODO: 在此处添加构造函数逻辑 m_oleDbCnn = null; // } /// <summary> /// Connecion连接 字符 /// </summary> private string m_strCnn;// = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; /// <summary> /// OleDbConnection /// </summary> private OleDbConnection m_oleDbCnn = null;//new OleDbConnection(m_strCnn); /// <summary> /// 打开Connection /// </summary> private void OpenCnn() { if (m_oleDbCnn.State==ConnectionState.Open) { m_oleDbCnn.Close(); } m_oleDbCnn.Open(); } /// <summary> /// //执行delete,update,insert等操作 /// </summary> public int ExeNoQuery(string strSql) { int nRet = -1; m_strError = ""; OleDbCommand oleDbCmd = new OleDbCommand(strSql,m_oleDbCnn); try { OpenCnn(); nRet = oleDbCmd.ExecuteNonQuery(); } catch (OleDbException ex) { nRet = -1; m_strError = ex.ToString(); } finally { if (m_oleDbCnn.State==ConnectionState.Open) { oleDbCmd.Dispose(); m_oleDbCnn.Close(); } } return nRet; } /// <summary> /// //执行delete,update,insert等操作 /// </summary> public int ExeNoQuery(OleDbCommand oleDbCmd) { int nRet = -1; m_strError = ""; oleDbCmd.Connection = m_oleDbCnn; try { nRet = oleDbCmd.ExecuteNonQuery(); } catch (OleDbException ex) { nRet = -1; m_strError = ex.ToString(); } finally { if (m_oleDbCnn.State==ConnectionState.Open) { m_oleDbCnn.Close(); } } return nRet; } /// <summary> /// 判断是否存在 /// </summary> public int ExeIsExist(string strSql) { int nExist = -1; m_strError = ""; OleDbCommand oleDbCmd = new OleDbCommand(strSql,m_oleDbCnn); try { OpenCnn(); OleDbDataReader dr= oleDbCmd.ExecuteReader(); if (dr.Read()) { nExist = 1; } else { nExist = 0; } } catch (OleDbException ex) { nExist = -1; m_strError = ex.ToString(); } finally { if (m_oleDbCnn.State==ConnectionState.Open) { oleDbCmd.Dispose(); m_oleDbCnn.Close(); } } return nExist; } /// <summary> /// 判断是否存在 /// </summary> public int ExeIsExist(OleDbCommand oleDbCmd) { int nExist = -1; m_strError = ""; oleDbCmd.Connection = m_oleDbCnn; try { OpenCnn(); OleDbDataReader dr = oleDbCmd.ExecuteReader(); if (dr.Read()) { nExist = 1; } else { nExist = 0; } } catch (OleDbException ex) { nExist = -1; m_strError = ex.ToString(); } finally { if (m_oleDbCnn.State==ConnectionState.Open) { m_oleDbCnn.Close(); } } return nExist; } /// <summary> /// 执行ExecuteScalar /// </summary> public int ExeScalar(string strSql) { int nNum = -1; m_strError = ""; OleDbCommand oleDbCmd = new OleDbCommand(strSql,m_oleDbCnn); try { OpenCnn(); nNum = (int)oleDbCmd.ExecuteScalar(); } catch (OleDbException ex) { nNum = -1; m_strError = ex.ToString(); } finally { if (m_oleDbCnn.State==ConnectionState.Open) { oleDbCmd.Dispose(); m_oleDbCnn.Close(); } } return nNum; } /// <summary> /// 返回OleDbDataReader /// </summary> public OleDbDataReader ExeSqlDr(string strSql) { OleDbDataReader dr = null; m_strError = ""; OleDbCommand oleDbCmd = new OleDbCommand(strSql,m_oleDbCnn); try { OpenCnn(); dr = oleDbCmd.ExecuteReader(); } catch (OleDbException ex) { dr = null; m_strError = ex.ToString(); } finally { if (m_oleDbCnn.State==ConnectionState.Open) { oleDbCmd.Dispose(); } } return dr; } /// <summary> /// 返回DataSet /// </summary> public DataSet ExeSqlDs(string strSql, string strTable) { m_strError = ""; DataSet ds = new DataSet(); OleDbDataAdapter oleDbAdapter = new OleDbDataAdapter(strSql,m_oleDbCnn); try { oleDbAdapter.Fill(ds,strTable); } catch (OleDbException ex) { ds = null; m_strError = ex.ToString(); } return ds; } /// <summary> /// 返回DataSet /// </summary> public DataSet ExeSqlDs(string strSql, int nStart, int nCount, string strTable) { m_strError = ""; DataSet ds = new DataSet(); OleDbDataAdapter oleDbAdapter = new OleDbDataAdapter(strSql,m_oleDbCnn); try { oleDbAdapter.Fill(ds,nStart,nCount,strTable); } catch (OleDbException ex) { ds = null; m_strError = ex.ToString(); } return ds; } /// <sum [1] [2] [3] 下一页 [C语言系列]NET 中C#的switch语句的语法 [系统软件]托拽Explore中的文件到VB.net的窗口 [系统软件]Boost库在XP+Visual C++.net中的安装 [常用软件]新配色面板:Paint.Net3.0RC1官方下载 [常用软件]用内建的“Net Meeting”聊天 [VB.NET程序]Henry的VB.NET之旅(三)—共享成员 [VB.NET程序]Henry的VB.NET之旅(二)—构造与析构 [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体 [VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET) [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
|