C# 读取 Access 数据库表的例子
using System;
using System.Data;
using System.Data.OleDb;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace A0150_Access.Sample
{
/// <summary>
/// 用于 访问 Access 数据库的例子.
///
///
/// </summary>
class ReadAccessDB
{
/// <summary>
/// Access 的数据库连接字符串.
/// </summary>
private const String connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\TeamMemberManager.mdb";
/// <summary>
/// 用于查询的 SQL 语句.
/// </summary>
private const String SQL = "SELECT member_type_code, member_type_name FROM team_member_type";
/// <summary>
/// DataSet 导出的文件
/// </summary>
private const String DATATABLE_XML_FILE = "datatable.xml";
private const String DATATABLE_SCHEMA_XML_FILE = "datatable_schema.xml";
/// <summary>
/// 将数据读取到 DataSet 中.
///
/// 这里演示了2种方式,一种是从数据库中读取,一种是从XML文件中读取.
///
/// 作为对比,还可以参考 A0210_DataSetXML 项目下的 DataSetReadXml 类,那里的读取方式,与这里有些差异。
/// </summary>
public void ReadDataToDataSet()
{
Console.WriteLine("使用DataAdapter,将数据填充到DataSet中,然后脱离数据库,直接对DataSet进行处理。");
// 建立数据库连接.
OleDbConnection conn = new OleDbConnection(connString);
// 创建一个适配器
OleDbDataAdapter adapter = new OleDbDataAdapter(SQL, conn);
// 创建DataSet,用于存储数据.
DataSet testDataSet = new DataSet();
// 执行查询,并将数据导入DataSet.
adapter.Fill(testDataSet, "team_member_type");
// 关闭数据库连接.
conn.Close();
// 处理DataSet中的每一行数据.
foreach (DataRow testRow in testDataSet.Tables["team_member_type"].Rows)
{
// 将检索出来的数据,输出到屏幕上.
Console.WriteLine("ID: {0} Name: {1}",
testRow["member_type_code"], testRow["member_type_name"]
);
}
// 注意:
// 在通过 DataTable 的 WriteXml 方法来导出数据,给其他系统使用的时候
// 还需要使用 WriteXmlSchema 来导出 Schema
// 否则在使用 ReadXml 读取的时候, 会发生错误,因为新的 DataTable 不知道表的结构,不知道该如何去读取.
// 除非你手动设置好每个列的字段/数据类型等信息,那么 DataSet 或者 DataTable 将能够理解如何倒入,而不在需要 ReadXmlSchema
Console.WriteLine("将 DataTable 的数据,写入到 XML 文件中。");
testDataSet.Tables["team_member_type"].WriteXmlSchema(DATATABLE_SCHEMA_XML_FILE);
testDataSet.Tables["team_member_type"].WriteXml(DATATABLE_XML_FILE);
Console.WriteLine("从 XML 文件中,读取数据到 DataTable 里面。");
DataTable newDt = new DataTable();
newDt.ReadXmlSchema(DATATABLE_SCHEMA_XML_FILE);
newDt.ReadXml(DATATABLE_XML_FILE);
// 输出 DataTable 信息。
foreach (DataRow testRow in newDt.Rows)
{
// 将检索出来的数据,输出到屏幕上.
Console.WriteLine("ID: {0} Name: {1}",
testRow["member_type_code"], testRow["member_type_name"]
);
}
}
/// <summary>
/// 通过 Reader, 依次读取每一条数据.
/// </summary>
public void ReadDataByReader()
{
Console.WriteLine("使用DataReader,逐行对查询结果进行处理。[处理过程必须保持数据库连接正常]");
// 建立数据库连接.
OleDbConnection conn = new OleDbConnection(connString);
// 打开连接.
conn.Open();
// 创建一个 Command.
OleDbCommand testCommand = conn.CreateCommand();
// 定义需要执行的SQL语句.
testCommand.CommandText = SQL;
// 执行SQL命令,结果存储到Reader中.
OleDbDataReader testReader = testCommand.ExecuteReader();
// 处理检索出来的每一条数据.
while (testReader.Read())
{
// 将检索出来的数据,输出到屏幕上.
Console.WriteLine("ID: {0} Name: {1}",
testReader["member_type_code"], testReader["member_type_name"]
);
}
// 关闭Reader.
testReader.Close();
// 关闭数据库连接.
conn.Close();
}
}
C# 读取 Access 数据库表的例子的更多相关文章
- java读取ACCESS数据库的简单示例
java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1&q ...
- java通过Access_JDBC30读取access数据库时无法获取最新插入的记录
1.编写了一个循环程序,每几秒钟读取一次,数据库中最新一行数据 连接access数据库的方法和查询的信息.之后开一个定时去掉用. package javacommon.util; import jav ...
- php读取access数据库
<?php //读取mdb数据库 $conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsof ...
- 创建数据库,创建数据库表,例子。MySQL语句
1.创建数据库: 创建的代码:create 数据库的代码:database 数据库表名:随便起,只要自己记住就行.test create database test; 2.删除数据库: 删 ...
- access数据库表导入到oracle
1.本机安装access数据库 25M左右2.创建ODBC数据源,要选择oracle C:\Windows\SysWOW64\odbcad32.exe 3.打开要导入的 .mdb文件 右键表--> ...
- 【.Net 学习系列】-- Windows身份模拟(WindowsIdentity.Impersonate)时读取Access数据库
参考资料: WindowsIdentity.Impersonate https://msdn.microsoft.com/zh-cn/library/w070t6ka(v=vs.110).aspx A ...
- 创建access数据库表demo的封装
1.创建类 public void CreateBiao(ADOX.Catalog catlog,ADOX.Table table) { //StuId Column(AutoIncrement ) ...
- asp.net读取Access数据库。
注:数据库(表名 job id 工作id ,job工作字段) 数据库放在app_data文件中.名称为database.mdb 如果用codesmith生成,选择的数据库连接类型如下图: 项目结构图 ...
- 利用ADO让普通人用excel读取oracle数据库表的通用办法
Ref:http://blog.csdn.net/iamlaosong/article/details/8465177 Excel通过ADO方式连接到Oracle并操作Oracle给那些编程能力不强的 ...
随机推荐
- C# Double类型 不四舍五入
测试中发现Double类型需要#0.00 小数点精度为后2位,并且多余部分不需要四舍五入,直接截断 用字符串处理也可以,但是比较麻烦 这里给出一种思路: double a = 9999.999; a ...
- ubuntu下安装Vmare Workstation,并安装mac补丁
最近想学习一下关于ios方面的开发,但是苦于自己的电脑已经装了两个系统:一个win7,一个ubuntu.两系统均装在物理硬盘上,不想格盘,所以装个虚拟机玩玩.决定使用Vmare Workstation ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
- gui线程
package thread; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.event.Acti ...
- RSA加密算法正确性证明
RSA加密算法是利用大整数分解耗时非常大来保证加密算法不被破译. 密钥的计算过程为:首先选择两个质数p和q,令n=p*q. 令k为n的欧拉函数,k=ϕ(n)=(p−1)(q−1) 选择任意整数a,保证 ...
- 限制窗口拉伸范围——WM_GETMINMAXINFO
注意:此方法对CListCtrl的Report模式下的表头绘制有影响,用时需注意测试! 使用OnSizing的改进版 该例程用处为将窗口限制了大小,并且只允许上下拉伸.需要注意的是WM_GETMINM ...
- 07_RHEL7配置yum源
redhat 默认自带的 yum 源需要注册才能更新.想不花钱也可以更新,就需要替换掉redhat的yum源. 检查是否安装yum包 查看RHEL是否安装了yum,若是安装了,那么又有哪些yum包: ...
- ECharts 是一款开源
ECharts
- 兄弟连王牌PHP课程送三重豪礼啦!
兄弟连PHP就业办课程送三重豪礼啦! 惊喜一:报名9月23日班级,保障薪资直涨1000元! 9月报名学习,春节后就业,正是企业招聘的黄金高峰期,一年中拿到高薪最好的时节! 惊喜二:兄弟连云课堂900元 ...
- java线程同步问题
Java面试当中,线程可以说是必考内容,在看面试题的时候发现一遍很全的讲解Java面试题的博客:http://blog.csdn.net/csh624366188/article/details/80 ...