using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;


/// <summary> /// AccessHelper 的摘要说明 /// </summary> public class AccessHelper { protected OleDbConnection conn = new OleDbConnection(); protected OleDbCommand comm = new OleDbCommand(); protected string connStr; public AccessHelper() { // // } public AccessHelper(string dbpath) { conn.ConnectionString = connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbpath + ";Jet OLEDB:Database PassWord="; } /// <summary> /// 打开数据库 /// </summary> private void openConnection() { if (conn.State == ConnectionState.Closed) { //if (conn.ConnectionString.IsNullOrEmpty()) { // conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["myconn"].ToString() + ";Jet OLEDB:Database PassWord=sa"; //} conn.ConnectionString = connStr; comm.Connection = conn; try { conn.Open(); } catch (Exception e) { throw new Exception(e.Message); } } } /// <summary> /// 关闭数据库 /// </summary> private void closeConnection() { if (conn.State == ConnectionState.Open) { conn.Close(); conn.Dispose(); comm.Dispose(); } } /// <summary> /// 执行sql语句 /// </summary> /// <param name="sqlstr"></param> public void excuteSql(string sqlstr) { try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; comm.ExecuteNonQuery(); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } /// <summary> /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。 /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public OleDbDataReader dataReader(string sqlstr) { OleDbDataReader dr = null; try { openConnection(); comm.CommandText = sqlstr; comm.CommandType = CommandType.Text; dr = comm.ExecuteReader(CommandBehavior.CloseConnection); } catch { try { dr.Close(); closeConnection(); } catch { } } return dr; } /// <summary> /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭 /// </summary> /// <param name="sqlstr"></param> /// <param name="dr"></param> public void dataReader(string sqlstr, ref OleDbDataReader dr) { try { openConnection(); comm.CommandText = sqlstr; comm.CommandType = CommandType.Text; dr = comm.ExecuteReader(CommandBehavior.CloseConnection); } catch { try { if (dr != null && !dr.IsClosed) dr.Close(); } catch { } finally { closeConnection(); } } } /// <summary> /// 返回指定sql语句的dataset /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public DataSet dataSet(string sqlstr) { DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return ds; } /// <summary> /// 返回指定sql语句的dataset /// </summary> /// <param name="sqlstr"></param> /// <param name="ds"></param> public void dataSet(string sqlstr, ref DataSet ds) { OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } /// <summary> /// 返回指定sql语句的datatable /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public DataTable dataTable(string sqlstr) { DataTable dt = new DataTable(); OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(dt); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return dt; } /// <summary> /// 返回指定sql语句的datatable /// </summary> /// <param name="sqlstr"></param> /// <param name="dt"></param> public void dataTable(string sqlstr, ref DataTable dt) { OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(dt); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } /// <summary> /// 返回指定sql语句的dataview /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public DataView dataView(string sqlstr) { OleDbDataAdapter da = new OleDbDataAdapter(); DataView dv = new DataView(); DataSet ds = new DataSet(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds); dv = ds.Tables[0].DefaultView; } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return dv; } /// <summary> /// 带参数的sql /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> public void excuteSql(string sql, OleDbParameter[] parameters) { try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sql; comm.Parameters.AddRange(parameters); comm.ExecuteNonQuery(); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } }

  

using ADOX;
using System;
using System.Collections.Generic;
using System.Data.OleDb;
using System.Linq;
using System.Text;

  public class AccessUtils {
        //创建数据库
        public static bool CreateAccessDB(string fileName) {
            string conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName;
            ADOX.Catalog catalog = new Catalog();
            try {
                catalog.Create(conn);
                return true;
            } catch (Exception ex) {
                ErrorLog.Write("创库出错", ex);
            }
            return false;
        }

        public static bool CreateAccdb(string fileName) {
            return false;
        }
        /// <summary>
        /// 创建表
        /// </summary>
        /// <param name="DBName"></param>
        /// <param name="tableName"></param>
        /// <returns></returns>
        public static bool CreateTable(string DBName, string tableName, List<string> colums) {
            string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DBName + ";Jet OLEDB:Database PassWord=";
            try {
                ADOX.Catalog cat = new ADOX.Catalog();
                OleDbConnection cn = new OleDbConnection();
                cn.ConnectionString = conn;
                cn.Open();
                cat.ActiveConnection = cn;
                //表
                ADOX.Table tbl = new ADOX.Table();
                tbl.ParentCatalog = cat;
                tbl.Name = tableName;//设置表名
                for (int i = 0; i < colums.Count; i++) {//添加字段?(默认第一个字段做主键,自动增长
                    var item=colums[i];
                    ADOX.Column column = new ADOX.Column();
                    column.Name = item;
                }
            } catch (Exception ex) {
                ErrorLog.Write("创表出错", ex);
            }
            return false;
        }

        /// <summary>
        /// 创建表
        /// </summary>
        /// <param name="DBName"></param>
        /// <param name="tableName"></param>
        /// <returns></returns>
        public static bool CreateTable(string DBName, string createSql) {
            string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DBName + ";Jet OLEDB:Database PassWord=";
              OleDbConnection cn = new OleDbConnection();
            OleDbCommand cmd = new OleDbCommand();
            try {
                cn.ConnectionString = conn;
                cn.Open();
                cmd.CommandText = createSql;
                cmd.Connection = cn;
                cmd.ExecuteNonQuery();
                return true;
            } catch (Exception ex) {
                ErrorLog.Write("创表出错", ex);
            }finally{
                cmd.Dispose();
                cn.Close();
            }
            return false;
        }
    }

  

posted on 2014-10-25 23:12  Cherbim  阅读(235)  评论(0)    收藏  举报

这是页脚