现在的位置: 首页 > 综合 > 正文

Lucas.Data数据库访问组件使用说明

2013年06月22日 ⁄ 综合 ⁄ 共 4298字 ⁄ 字号 评论关闭

Lucas.Data数据库访问组件使用说明

 

Lucas.Data数据库访问组件提供了一组数据库访问的通用接口,目前支持OldDb,SQL Server,Oracle等数据库。

一、创建数据库连接及其配置:

DataAccess DAO = DataAccessFactory.CreateDataAccess(Config.DefaultDatabaseProperty);

这样一行代码就可以创建数据库访问连接。Config类是读取数据库配置的静态类,提供一个静态属性DefaultDatabaseProperty和一个静态方法GetDatabaseProperty(string name)DefaultDatabaseProperty属性于获取数据库默认配置,GetDatabaseProperty(string name)方法用于获取指定的数据库配置。在使用DataAccess之前,要求应用程序对数据库进行配置,其配置如下:

............

<configSections>

    <section name="Lucas.Data" type="Lucas.Data.DataPropertyConfigurationHandler,Lucas.Data"/>

  </configSections>

  <Lucas.Data>

    <DatabaseProperty name="Default">

      <DatabaseType>MSSQLServer</DatabaseType>      <ConnectionString>Server=(local);UID=sa;PWD=yourpassword;Database=Northwind;</ConnectionString>

    </DatabaseProperty>

    <DatabaseProperty name="BlogSys">

      <DatabaseType>OleDb</DatabaseType>

      <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Blog.mdb;User ID=Admin;Password=;</ConnectionString>

    </DatabaseProperty>

  </Lucas.Data>

  <appSettings>

<add key="DebugFile" value=""/>

</appSettings>

……..

说明:Config.DefaultDatabaseProperty属性的取值就是 名称为Default配置节的内容,在上配置中,可以看出数据库的类型为MS SQL Server,还有其连接字符串。如果你要获取名称为BloySys的数据库配置字节,则代码为:

    DatabaseProperty  dbp = Config.GetDatabaseProperty(BlogSys);

当然你也可以在代码中直接写,不需要配置,例如:

    DatabaseProperyt dbp = new DatabaseProperty();

    dbp.DatabaseType=DatabaseType.MSSQLServer;

   dbp.ConnectionString=你的数据库连接字符串;

    DataAccess dao = DataAccessFactory(dbp);

在编程的时候建议大家用配置,一是代码简洁,而且系统如果需要更换数据库只需要更改配置即可。

二、         数据库操作

DataAccess接口提供了一系列的属性和方法用于对数据库的操作。下面的这些属性和方法的列表:

bool IsClosed { get;}//判断数据是否关闭

 

        /// <summary>

        /// 打开数据库连接

        /// </summary>

        void Open();

        /// <summary>

        /// 关闭数据库连接

        /// </summary>

        void Close();

        /// <summary>

        /// 开启一个事务

        /// </summary>

        void BeginTransaction();

        /// <summary>

        /// 提交一个事务

        /// </summary>

        void Commit();

        /// <summary>

        /// 回滚一个事务

        /// </summary>

        void RollBack();

        #endregion

 

        #region ExecuteNonQuery//执行不返回结果集的命令

        int ExecuteNonQuery(string commandText);

        int ExecuteNonQuery(string commandText, CommandType commandType);

        int ExecuteNonQuery(string commandText, QueryParameterCollection Parameters);

        int ExecuteNonQuery(string commandText, CommandType commandType, QueryParameterCollection Parameters);

        #endregion

 

        #region ExecuteDataReader//返回DbDataReader

        DbDataReader ExecuteDataReader(string commandText);

        DbDataReader ExecuteDataReader(string commandText, CommandType commandType);

        DbDataReader ExecuteDataReader(string commandText, QueryParameterCollection Parameters);

        DbDataReader ExecuteDataReader(string commandText, CommandType commandType, QueryParameterCollection Parameters);

        #endregion

 

        #region ExecuteDataTable//返回DataTable

        DataTable ExecuteDataTable(string commandText);

        DataTable ExecuteDataTable(string commandText, CommandType commandType);

        DataTable ExecuteDataTable(string commandText, QueryParameterCollection Parameters);

        DataTable ExecuteDataTable(string commandText, CommandType commandType, QueryParameterCollection Parameters);

        DataTable ExecuteDataTable(string commandText, CommandType commandType, QueryParameterCollection Parameters, string tableName);

        DataTable ExecuteDataTable(string commandText, int startRecord, int maxRecords);

        DataTable ExecuteDataTable(string commandText, CommandType commandType, int startRecord, int maxRecords);

        DataTable ExecuteDataTable(string commandText, QueryParameterCollection Parameters, int startRecord, int maxRecords);

        DataTable ExecuteDataTable(string commandText, CommandType commandType, QueryParameterCollection Parameters, int startRecord, int maxRecords);

        DataTable ExecuteDataTable(string commandText, CommandType commandType, QueryParameterCollection Parameters, string tableName, int startRecord, int maxRecords);

 

        #endregion

 

        #region ExecuteScalar//执行返回第一行第一列       

        object ExecuteScalar(string commandText);     

        object ExecuteScalar(string commandText, CommandType commandType);

        object ExecuteScalar(string commandText, QueryParameterCollection parameters);      

        object ExecuteScalar(string commandText, CommandType commandType, QueryParameterCollection parameters);

 #endregion

注意,在执行ExecuteNonQuery, ExecuteDataReader, ExecuteScalar之前,一定要先打开数据库连接,否则会抛出异常,ExecuteDatable不需要。

抱歉!评论已关闭.