c# vs2010 连接access数据库(转)
第一次在博客园写博文,由于文采不怎么好,即使是自己很熟悉的东西,写起来也会感觉到不知从何讲起,我想写的多了就好了。
这篇文章主要是介绍怎么用c# 语言 vs2010连接access数据库的,连接字符串写到app.config配置文件中,具体的数据库操作写在一个名为sqlhelper.cs的类中,希望这篇文章能够帮助一些新手菜鸟。
第一次在博客园写博文,由于文采不怎么好,即使是自己很熟悉的东西,写起来也会感觉到不知从何讲起,我想写的多了就好了。
这篇文章主要是介绍怎么用c# 语言 vs2010连接access数据库的,连接字符串写到app.config配置文件中,具体的数据库操作写在一个名为sqlhelper.cs的类中,希望这篇文章能够帮助一些新手菜鸟。
1、app.config文件的代码
(1)这是连接access2007 access2010版数据库的连接字符串,其中Data Source后跟的是数据库文件的存放路径,Database Password为access数据库访问密码
1 <configuration>
2 <appSettings>
3 <add key="connstr" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\\data2\\CRMdata.accdb;Jet OLEDB:Database Password=123456" />
4 </appSettings>
5
6 </configuration>
(2)连接access2003版本数据库的连接字符串
1 <configuration>
2 <appSettings>
3 <add key="connstr" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\data2\\CRMdata.accdb;Jet OLEDB:Database Password=123456" />
4 </appSettings>
5
6 </configuration>
2、sqlhelper.cs文件代码
注意:要想执行oledb相关的命令必须引用,//using System.Data;
// using System.Data.OleDb;
//读取配置文件连接字符串 的语句中提示ConfigurationManager对象不存在时,解决办法,在资源管理器中“右击 引用 文件夹 选择添加引用,“在net选项中选中System.Configuration 单击确定即可”” 说白了就是添加引用“System.Configuration.”

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Configuration;
6 using System.Data;
7 using System.Data.OleDb;
8
9 namespace CRMProject
10 {
11 class Sqlhelper
12 {
13 //读取配置文件连接字符串
14 public static readonly string connstr = System.Configuration.ConfigurationManager.AppSettings["connstr"].ToString();
15 public static int ExecuteNonQuery(string cmdText, params OleDbParameter[] parameters)
16 {
17 using (OleDbConnection conn =new OleDbConnection(connstr))
18 {
19 conn.Open();
20 using (OleDbCommand cmd = conn.CreateCommand())
21 {
22 cmd.CommandText = cmdText;
23 cmd.CommandTimeout = 3000;
24 cmd.Parameters.AddRange(parameters);
25 return cmd.ExecuteNonQuery();
26 }
27 }
28 }
29
30 public static object ExecuteScalar(string cmdText,params OleDbParameter[] parameters)
31 {
32 using (OleDbConnection conn = new OleDbConnection(connstr))
33 {
34 conn.Open();
35 using (OleDbCommand cmd = conn.CreateCommand())
36 {
37 cmd.CommandText = cmdText;
38 cmd.CommandTimeout = 3000;
39 cmd.Parameters.AddRange(parameters);
40 return cmd.ExecuteScalar();
41 }
42 }
43 }
44
45 public static DataTable ExecuteDataTable(string cmdText,params OleDbParameter[] parameters)
46 {
47 using (OleDbConnection conn = new OleDbConnection(connstr))
48 {
49 conn.Open();
50 using (OleDbCommand cmd = conn.CreateCommand())
51 {
52 cmd.CommandText = cmdText;
53 cmd.CommandTimeout = 3000;
54 cmd.Parameters.AddRange(parameters);
55 using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
56 {
57 DataTable dt = new DataTable();
58 adapter.Fill(dt);
59 return dt;
60 }
61 }
62 }
63 }
64 public static DataSet ExecuteDataSet(string cmdText,params OleDbParameter[] parameters)
65 {
66 using (OleDbConnection conn = new OleDbConnection(connstr))
67 {
68 conn.Open();
69 using (OleDbCommand cmd = conn.CreateCommand())
70 {
71 cmd.CommandText = cmdText;
72 cmd.CommandTimeout = 3000;
73 cmd.Parameters.AddRange(parameters);
74 using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
75 {
76 DataSet dt =new DataSet();
77 adapter.Fill(dt);
78 return dt;
79 }
80 }
81 }
82 }
83 public static OleDbDataReader ExecuteDataReader(string cmdText,params OleDbParameter[] parameters)
84 {
85 OleDbConnection conn = new OleDbConnection(connstr);
86 conn.Open();
87 using (OleDbCommand cmd = conn.CreateCommand())
88 {
89 cmd.CommandText = cmdText;
90 cmd.CommandTimeout = 3000;
91 cmd.Parameters.AddRange(parameters);
92 return cmd.ExecuteReader(CommandBehavior.CloseConnection);
93 }
94 }
95 }
96 }

在具体的业务类中调用sqlhelper.cs中的方法即可
c# vs2010 连接access数据库(转)的更多相关文章
- c# vs2010 连接access数据库
第一次在博客园写博文,由于文采不怎么好,即使是自己很熟悉的东西,写起来也会感觉到不知从何讲起,我想写的多了就好了. 这篇文章主要是介绍怎么用c# 语言 vs2010连接access数据库的,连接字符串 ...
- 【.net 深呼吸】连接Access数据库应注意的几点
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
- C#连接Access数据库(详解)
做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...
- ASP.net分别连接SQLserver数据库与连接Access数据库精英版
-------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...
- php连接Access数据库错误及解决方法
<?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.m ...
- php连接Access数据库的三种方法
http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2009/1115/3524.html 虽然不是一个类但先放这儿吧 最近想把一个asp的网站改成 ...
- 在用VS2010连接oracle数据库时ORA-12504错误
在用VS2010连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...
- 三种php连接access数据库方法
种是利用php的pdo,一种是odbc,com接口来与access数据库连接.利用pdo与access数据库连接 $path ="f:fontwww.jb51.netspiderresult ...
- 具体解释VB中连接access数据库的几种方法
在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...
随机推荐
- Linux命令基础6-mkdir命令
mkdir是英文单词make directory的缩写.mkdir就是用来创建路径,一般就是用来创建文件夹的. 语法 mkdir (选项)(参数) 选项 -Z:设置安全上下文,当使用SELinux时有 ...
- Mac上django 报错 [Errno 13] Permission denied: '/static'
将setting文件中的 改成:
- linux 导出mysql数据库表及数据
导出表及结构 mysqldump -h地址ip -u用户名 -p密码 数据库名 > 数据库名.sql --连接数据库 mysql -h地址ip -u用户名 -p密码 --使用数据库 user ...
- 实现自定义集合的可枚举类型(IEnumerable)和枚举数(IEnumerator )
下面的代码示例演示如何实现自定义集合的 IEnumerable 和 IEnumerator 接口: using System; using System.Collections; using Syst ...
- Linux 使用shell脚本实现自动SSH互信功能
说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?#!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorized ...
- js遍历删除数组中不符合条件的元素
//一般解决方法 let arr = [1,2,3]; for(let i=0; i<arr.length; i++){ if(arr[i]==2){ arr.splice(i, 1); i-- ...
- 猴猴吃香蕉 背包DP
猴猴吃香蕉 背包DP \(D\)次询问,第\(i\)次询问,每次有\(n_i\)个带权香蕉,问有多少方案使香蕉之积为\(k_i\),对结果取模\(1000000007\) \(n\le 10^3,k\ ...
- [CTF]CTF中if (md5(md5($_GET[‘a’])) == md5($_GET[‘b’])) 的绕过
原作者:KTWO 出处:https://www.k2zone.cn/?p=2019 0X00 摘要 CTF中md5判等可使用0e绕过,但是如果是双md5该如何绕过呢?本文将教你如何绕过md5(md5( ...
- redis渐进式 rehash
转载(http://redisbook.com/preview/dict/incremental_rehashing.html) 上一节说过, 扩展或收缩哈希表需要将 ht[0] 里面的所有键值对 r ...
- 随机森林算法OOB_SCORE最佳特征选择
RandomForest算法(有监督学习),可以根据输入数据,选择最佳特征组合,减少特征冗余:原理:由于随机决策树生成过程采用的Boostrap,所以在一棵树的生成过程并不会使用所有的样本,未使用的样 ...