ADO。net
来源:互联网 发布:金山软件 电话会议 编辑:程序博客网 时间:2024/06/06 00:18
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.Common;using System.Configuration;using System.Data.SqlClient;using System.Data.OleDb;using System.Data.Odbc;namespace ReadXml.DB{ public class DbHelper: IDbAction { private DbHelper() { } enum DataProvider { SqlServer,OleDb,Odbc } private static DbHelper dbhelper; private static object _lock = new object(); string connString = ConfigurationManager.AppSettings["DB_CONN_STR"]; public static DbHelper DBHelper { get { lock (_lock) { if (dbhelper == null) { dbhelper = new DbHelper(); } return dbhelper; } } } /// <summary> /// 获取数据库连接 /// </summary> /// <param name="dp"></param> /// <returns></returns> private IDbConnection GetConnection(DataProvider dp) { switch (dp) { case DataProvider.SqlServer: { return new SqlConnection(connString); } case DataProvider.Odbc: { return new OdbcConnection(connString); } case DataProvider.OleDb: { return new OleDbConnection(connString); } default: throw new Exception("xxxxxxxxxxxx"); } } /// <summary> /// 打开数据库连接 /// </summary> /// <param name="conn"></param> private void OpenConnection(IDbConnection conn) { conn.Open(); } /// <summary> /// 数据查询 /// </summary> /// <param name="sql"></param> /// <returns></returns> public DataTable ExecuteQuery(string sql) { DataSet ds = new DataSet(); try { SqlConnection conn = GetConnection(DataProvider.SqlServer) as SqlConnection; OpenConnection(conn); SqlCommand command = new SqlCommand(sql, conn); SqlDataAdapter adapter = new SqlDataAdapter(command); adapter.Fill(ds); conn.Close(); } catch (Exception e) { throw e; } return ds.Tables[0]; } }}