• 连接并操作Access数据库C#类



    1、配置web.config文件:配置数据库连接参数

    <configuration>
    <appSettings/>
    <connectionStrings>

    <add name="ConnectionString" connectionString="PRovider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\TeacherSystem\App_Data\db.mdb;Jet OLEDB:Database PassWord=123"
    providerName="System.Data.OleDb" />
    </connectionStrings>

    2、操作Access数据库C#类

    using System;
    using System.Data;
    using System.Data.OleDb;
    using System.Web;
    using System.Web.UI;
    using System.Configuration;
    
    namespace Com.LXJ.Database
    {
    /// <summary>
    /// conn 的摘要说明。
    /// </summary>
    public class ConnDbForAcccess
    {
    /// <summary>
    /// 连接数据库字符串
    /// </summary>
    private string connectionString;
    
    /// <summary>
    /// 存储数据库连接(保护类,只有由它派生的类才能访问)
    /// </summary>
    protected OleDbConnection Connection;
    
    /// <summary>
    /// 构造函数:数据库的默认连接
    /// </summary>
    public ConnDbForAcccess()
    {
    string connStr;
    connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
    // connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString(); //从web.config配置中读取
    connectionString = connStr;
    //connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalapplicationPath + connStr;
    // connectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
    //
    Connection = new OleDbConnection(connectionString);
    }
    
    /// <summary>
    /// 构造函数:带有参数的数据库连接
    /// </summary>
    /// <param name="newConnectionString"></param>
    public ConnDbForAcccess(string newConnectionString)
    {
    //connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + newConnectionString;
    connectionString = newConnectionString;
    Connection = new OleDbConnection(connectionString);
    }
    
    /// <summary>
    /// 获得连接字符串
    /// </summary>
    public string ConnectionString
    {
    get
    {
    return connectionString;
    }
    }
    
    
    /// <summary>
    /// 执行SQL语句没有返回结果,如:执行删除、更新、插入等操作
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns>操作成功标志</returns>
    public bool ExeSQL(string strSQL)
    {
    bool resultState = false;
    
    Connection.Open();
    OleDbTransaction myTrans = Connection.BeginTransaction();
    OleDbCommand command = new OleDbCommand(strSQL, Connection, myTrans);
    
    try
    {
    command.ExecuteNonQuery();
    myTrans.Commit();
    resultState = true;
    }
    catch
    {
    myTrans.Rollback();
    resultState = false;
    }
    finally
    {
    Connection.Close();
    }
    return resultState;
    }
    
    /// <summary>
    /// 执行SQL语句返回结果到DataReader中
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns>dataReader</returns>
    private OleDbDataReader ReturnDataReader(string strSQL)
    {
    Connection.Open();
    OleDbCommand command = new OleDbCommand(strSQL, Connection);
    OleDbDataReader dataReader = command.ExecuteReader();
    Connection.Close();
    
    return dataReader;
    }
    
    /// <summary>
    /// 执行SQL语句返回结果到DataSet中
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns>DataSet</returns>
    public DataSet ReturnDataSet(string strSQL)
    {
    Connection.Open();
    DataSet dataSet = new DataSet();
    OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
    OleDbDA.Fill(dataSet, "objDataSet");
    
    Connection.Close();
    return dataSet;
    }
    
    /// <summary>
    /// 执行一查询语句,同时返回查询结果数目
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns>sqlResultCount</returns>
    public int ReturnSqlResultCount(string strSQL)
    {
    int sqlResultCount = 0;
    
    try
    {
    Connection.Open();
    OleDbCommand command = new OleDbCommand(strSQL, Connection);
    OleDbDataReader dataReader = command.ExecuteReader();
    
    while (dataReader.Read())
    {
    sqlResultCount++;
    }
    dataReader.Close();
    }
    catch
    {
    sqlResultCount = 0;
    }
    finally
    {
    Connection.Close();
    }
    return sqlResultCount;
    }
    
    
    }
    }
  • 相关阅读:
    前端面试题(转载)
    郝兽医
    声明,本博客文章均为转载,只为学习,不为其他用途。感谢技术大牛的技术分享,让我少走弯路。
    ajax登陆+验证码(转载)
    新手机号
    明天回家
    ERP的灵魂-业务过程
    那些父母要求我们做的事
    出租车上的糗事
    管人管到心
  • 原文地址:https://www.cnblogs.com/sosoft/p/2684025.html
Copyright © 2020-2023  润新知