Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1311817
  • 博文数量: 263
  • 博客积分: 1218
  • 博客等级: 少尉
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 02:33
文章分类

全部博文(263)

文章存档

2020年(12)

2019年(2)

2018年(10)

2016年(1)

2015年(20)

2014年(115)

2013年(46)

2012年(37)

2011年(20)

分类: 嵌入式

2012-03-02 14:29:28

这里通过OleDb 连接Access,新建一个控制台程序:
输入代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Data;
using System.Data.OleDb;

namespace ConsoleConnAccess
{
    class Program
    {
        static void Main(string[] args)
        {
            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
            strConnection += @"Data Source=C:\BegASPNET\Northwind.mdb";
            using(OleDbConnection objConnection = new OleDbConnection(strConnection))/*新建连接*/
            {
             objConnection.Open(); /*打开连接*/
            
            //这里执行对数据库的操作
 
            objConnection.Close(); /*关闭连接*/
           }
        }
    }
}

解释:

C#连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!

strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。

“Provider=Microsoft.Jet.OleDb.4.0;”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。这由你在你机器上安装的ACCESS的版本决定,ACCESS97版本,microsoft.jet.oledb.3.51,而ACCESS2000以上版本则为Microsoft.jet.oledb.4.0.


“Data Source=C:\BegASPNET\Northwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPath\MyFile.MDB”。

PS:

1.“+=”后面的“@”符号是防止将后面字符串中的“\”解析为转义字符。如果你没用"@"符号的话要写成双斜杠: strConnection += "Data Source=C:\\BegASPNET\\Northwind.mdb";

2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:

strConnection+="Data Source=";strConnection+=MapPath("Northwind.mdb");

3.要注意连接字符串中的参数之间要用分号来分隔。

“OleDbConnection objConnection=new OleDbConnection(strConnection);”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道。用using(){}是为了防止运行错误后,连接无法关闭,再次连接也许出问题。

“objConnection.Open();”这用来打开连接。至此,与Access数据库的连接完成。

下面就是对数据库进行操作了:

比如在Northwind.mdb数据库内建一张表t:

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

namespace ConsoleConnAccess
{
    class Program
    {
        static void Main(string[] args)
        {
            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
            strConnection += @"Data Source=C:\BegASPNET\Northwind.mdb";
            using (OleDbConnection objConnection = new OleDbConnection(strConnection))/*新建连接*/
            {
                objConnection.Open(); /*打开连接*/

                //这里执行对数据库的操作
                string create = "create table t " +
                                "(" +
                                "cd char(8)," +
                                "primary key(cd)"+
                                ");";

                OleDbCommand cmd = new OleDbCommand(create, objConnection);
                int rowsReturned = cmd.ExecuteNonQuery();                  /*执行命令*/


               
                objConnection.Close(); /*关闭连接*/

           
            }
        }
    }
}

运行一下,用access打开看数据库中多了一张表t。

但有时会提示oledbException:找不到可安装的 ISAM。多数是strConnection字符串有错:看一下你的
"Data Source"中间是不是少了一个空格。

 

 

转:http://developer.51cto.com/art/200908/141242.htm

   http://www.myexception.cn/dotnet%20exception/3602.html

    http://www.google.com.hk/url?sa=t&rct=j&q=%E8%AE%A1%E7%AE%97%E6%9C%BAloedb%E7%89%88%E6%9C%AC%E5%9C%A8%E5%93%AA%E9%87%8C%E7%9C%8B&source=web&cd=1&ved=0CCoQFjAA&url=http%3A%2F%2Fblog.sina.com.cn%2Fs%2Fblog_49336700010008gn.html&ei=a15QT6j1EqadiAe5i53oCw&usg=AFQjCNFS-RMTLDWn3ozcGeYAzMQeygr8gw&cad=rjt

C#高级编程第6版

阅读(4727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~