c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库

时间:2021-07-24 13:31:51

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
程序设计开始:

1、按要求建立Access数据库及数据表

2、编写数据库访问、操作的公用类,此类可以复用到以后开发的任何系统中

(1)、新建一个C# 类库项目, 命名为“Com.LXJ”,设置项目属性:程序集名称、默认命名空间均为“Com.LXJ”

(2)、在此项目目录下创建目录Database,新建C# 类文件ConnDbForAccess.cs 在Database目录下。

              添加引用:System.Web.dll

(3)、编写ConnDbForAccess.cs 的代码

 

  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;
        } 

    }
//
} //  

好了,数据库访问、数据库操作的公用类完成了,详细代码意义大家自己看吧,这些属于C# 语法知识了,现在可以编译生成项目了,编译完后把项目的dll文件Com.LXJ.dll拷贝到Example项目下的bin目录中,然后在项目 Example中引入Com.LXJ.dll即可。稍后介绍如何使用它,休息一下,喝口水,呵呵.....

成功者找方法,失败者找借口!

 

 

+++++++++++++++++++++++++++++++++++++++++++++++++++

 

数据库连接字符串还可这样写:

 

string  strConnection  =   " Provider=Microsoft.Jet.OleDb.4.0;Data Source= "   +   Directory.GetCurrentDirectory() + ( @" \zhenjiangDBA.mdb " ); // 用于指定数据库文件与.exe文件在同一目录下  

 

 

 

 

 

 c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库c#.net连接access操作类 (转)|| C#中如何连接Access2007数据库

 

 

C#中如何连接Access2007数据库

 

我们讲的是使用Visual Studio2005来连接Access2007数据库,因为VS2005中没有对Access2007数据库的数据源。
一.首先我们来新建一个Access2007数据库。只需要三个字段ID,姓名,年龄。数据库和表名都起为test(图方便)。
二.新建一个C#的控制台应用程序。
三.导入命名空间System.Data.OleDb
四.将test.accdb放到工程下的bin/debug/下面
五. 在主函数中写如下代码:

 OleDbConnection dbconn  =   new  OleDbConnection( @" Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.accdb;Persist Security

Info=False
" );
            dbconn.Open();
            OleDbCommand cmd 
=  dbconn.CreateCommand();
            cmd.CommandText 
=   " select * from test " ;
            OleDbDataReader reader 
=  cmd.ExecuteReader();
            
while  (reader.Read())
            {
                Console.Write(
" {0}:{1}\n " , reader[ " 姓名 " ], reader[ " 年龄 " ]);
            }


    

   完成,好了按下Ctro+F5看看效果吧!!不过别忘了给数据库添几条数据哦!!!