ADO.NET 连接Access2007和Access2003
1、连接access2007
using System;
using System.Data.OleDb;
class AccessTest{
static void Main(){
string strConnection = "Provider=MicroSoft.ACE.OLEDB.12.0;";
strConnection += @"Data Source=D:\study\work\db\ITalkUsers.accdb;Persist Security Info=False";
OleDbConnection connection = new OleDbConnection(strConnection);
OleDbCommand cmd = new OleDbCommand("select userid, username, userpasswd from users", connection);
connection.Open();
OleDbDataReader cusReader = cmd.ExecuteReader();
Console.WriteLine("{0} Field.", cusReader.FieldCount);
while(cusReader.Read()){
Console.WriteLine(cusReader.GetInt32(0) + " " + cusReader.GetString(1) + " " + cusReader.GetString(2));
}
cusReader.Close();
connection.Close();
}
2、连接access2003
ADO.NET连接ACCESS数据库
Imports System.Data.OleDb ——引用命名空间。
1. OleDbConnection 类(连接),所有对数据库的操作都必需先与数据库连接
用法例1:
Dim _connection As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\mymoney.mdb")
数据库有密码则在连接字符串改为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\mymoney.mdb;Jet OLEDB:Database Password=12345a
用法例2:
Dim _connection As OleDbConnection = New System.Data.OleDb.OleDbConnection
_connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\shidata.mdb;Jet OLEDB:Database Password=12345a"
_connection的其它属性可以使用其默认值
打开连接:
_connection.Open()'打开连接
为了减少错误,可以用下面的方法打开:
If _connection.State = ConnectionState.Closed Then _connection.Open()'如果是关闭则打开
同样关闭连接时也可以做一个判断
2. OleDbCommand 类(操作数据库)
Dim _OleDbCommand As OleDbCommand = New OleDbCommand("SQL语句", 数据连接)
例:
Dim _OleDbCommand As System.Data.OleDb.OleDbCommand
_OleDbCommand = New System.Data.OleDb.OleDbCommand()
_OleDbCommand.CommandText = "SQL语句"
_OleDbCommand.Connection = _connection
_OleDbCommand.ExecuteNonQuery() '执行SQL语句,返回受影响的行数
_OleDbCommand.ExecuteScalar() '执行SQL语句,返回单个值(结果结果集中第一行第一列的值)
_OleDbCommand.ExecuteReader() '执行SQL语句,返回行,可使用其循环方问行集.此方法的更多内容可参看MSDN.
用数据适配器(OleDbDataAdapter)及数据集(DataSet)方法例(个人理财汇总模块):
Module 汇总
Function pd(ByVal kk As String) As String '为空则赋值为0
If kk = "" Then
Return 0
Else
Return kk
End If
End Function
Sub huizong()
Dim OleDbConn As OleDbConnection = New OleDbConnection(My.MySettings.Default.mymoneyConnectionString) 'My.MySettings.Default.mymoneyConnectionString 是在程序配制文件中记录的连接字符串
OleDbConn.Open()
Dim mydataset As DataSet = New DataSet
Dim MyOleDataAdapter As OleDbDataAdapter = New OleDbDataAdapter()
MyOleDataAdapter.SelectCommand = New OleDbCommand("SELECT SUM(支出金额) AS ZONGHE FROM 支出信息表", OleDbConn)
MyOleDataAdapter.Fill(mydataset)
MyOleDataAdapter.SelectCommand = New OleDbCommand("SELECT SUM(收入金额) AS ZONGHEE FROM 收入信息表", OleDbConn)
MyOleDataAdapter.Fill(mydataset)
MyOleDataAdapter.SelectCommand = New OleDbCommand("SELECT SUM(支出金额) AS Expr2 FROM 支出信息表 WHERE (datediff('M', 支出日期, NOW()) = 0)", OleDbConn)
MyOleDataAdapter.Fill(mydataset)
MyOleDataAdapter.SelectCommand = New OleDbCommand("SELECT SUM(收入金额) AS Expr1 FROM 收入信息表 WHERE (datediff('M', 收入日期, NOW()) = 0)", OleDbConn)
MyOleDataAdapter.Fill(mydataset)
zhu_form.Label2.Text = pd(mydataset.Tables(0).Rows(0).Item("ZONGHE").ToString())
zhu_form.Label5.Text = pd(mydataset.Tables(0).Rows(1).Item("ZONGHEE").ToString())
zhu_form.Label9.Text = pd(mydataset.Tables(0).Rows(2).Item("Expr2").ToString())
zhu_form.Label8.Text = pd(mydataset.Tables(0).Rows(3).Item("Expr1").ToString())
zhu_form.Label12.Text = (pd(mydataset.Tables(0).Rows(2).Item("Expr2").ToString()) / Date.Today.Day).ToString(".##") '留两位小数
zhu_form.Label13.Text = (pd(mydataset.Tables(0).Rows(2).Item("Expr2").ToString()) / Date.Today.Day * Date.DaysInMonth(Now.Year, Now.Month)).ToString(".##")
MyOleDataAdapter.Dispose()
OleDbConn.Dispose()
End Sub
}
转载于:https://blog.51cto.com/sellm/1107244
ADO.NET 连接Access2007和Access2003相关推荐
- 连接并查询Access2003数据库
#region 连接并查询Access2003数据库 /// <summary> #region 连接并查询Access2003数据库 /// <summary> /// 连接 ...
- ASP连接ACCESS2007数据库时注意事项
前几天在自己的笔记本上安装了OFFICE2007.今天做了一个 百度友情链接检查的工具, 在连接ACCESS2007数据库的时候,使用的驱动代码为:"provider=microsoft.j ...
- ADO.NET连接字符串
虽然有的字符串不会用到,但了解一下,还是有益的. 名称 ADO.NET连接字符串 说明 ADO.NET连接字符串:SQL Server,SQL Server 2005,ACCESS,Oracle,My ...
- 浅谈如何更好的打开和关闭ADO.NET连接池
MS提倡我们尽可能每次的在连接使用完成后就关闭:这样导致每次都要进行打开和关闭操作或用using(){-}写起代码比较麻烦,还有经常对池的操作似乎也带来一些性能上的问题:在Asp.net里一个WebF ...
- 使用 ADO.NET连接SQL Azure
使用ADO.NET连接Microsoft SQL Azure Database 现在已经变得非常容易,这篇文章提供一个示例控制台程序来描述如何连接到Azure 的数据库,中间还夹杂着几个我认为连接Mi ...
- 连接Access2007数据库
C++Builder中连接Access2007数据库,如下: AnsiString strConn = AnsiString().sprintf("Provider=Microsoft.AC ...
- MFC 使用 ADO技术连接Access数据库
学了很久的MFC,于是想着使用MFC的ADO技术连接Access数据库. 记录一下,以备后面复习. 1.首先需要了解MDB数据库文件,本次示例代码连接的是MDB数据库文件.*.MDB文件是(Micro ...
- 如何使用AccessDataSource连接Access2007
在VS2008中,使用AccessDataSource只能连接Access2003数据库,但是如何使用他连接Access数据库2007呢? 为此,我在这做一个对比,以区别连接Access2003和Ac ...
- Ado.net连接池 sp_reset_connection 概念
什么是连接池? 正常情况下,每次访问数据库都会打开和关闭,中断物理连接后需要再次进行物理连接.这样操作会浪费资源 使用连接池,主要的区别在于,不需要中断物理连接,即每次中断请求时spid还是存在! 原 ...
最新文章
- 一张小票看透支付清结算架构
- 红色警戒2修改器原理百科(十)
- 关于java子类继承以及final问题总结
- Windows下的包管理工具scoop
- 集成Tomcat环境到Eclipse中
- 使用WM_QUIT终止线程
- 类模版的static成员
- 亲民地理第39期-佛山(3)千灯湖
- Item 16: Avoid Creating Unnecessary Objects(Effective C#)
- 安徽大学线性代数第二章习题册(详细解答)
- ubuntu显卡驱动掉了重新装
- 编译报错:/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32S against `.rodata‘
- U盘/移动硬盘的文件夹自动分类怎么消除
- HTPPS加密对网站有什么好处
- linux调度器并发,12 Go 并发调度器模型
- 计算机管理无法打开权限不足,win10 打不开软件管理员权限不够
- 机器视觉自动数据标注方法
- 网络协议-前端重点——DNS和CDN
- 从Google街景服务观赏宇宙! 与欧洲太空总署合作带大家走出地球
- 一阶指数平滑c语言,时间序列数据之一、二、三阶指数平滑法
热门文章
- java版msn_强!Java实现MSN Messenger聊天
- java 取得textfield_怎样获取java中textfield的内容
- 什么是PCB板上的鼠牙洞?
- 基于ESP32的竞赛裁判系统功能调试-硬件修改建议
- 2021年春季学期-信号与系统-第十二次作业参考答案-第五小题
- 基于黄色LED反向电流的光电检测板
- 金升阳5V开关电源LM25-23B05
- ZLAN串口转接以太网ZLSN3003S
- 前端用html5还是html4,Web前端面试题第四道—Html5与html4的异同
- java sql sum函数的使用方法_SQL常用汇总函数用法说明