using System.Data.OleDb;
using System.Data;
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=aspxWeb2.mdb;"; //source是mdb文件路径
OleDbConnection conn = new OleDbConnection(connectionString); //开启连接配置
conn.Open(); //开启连接
DataTable schemaTable;
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); //查表名;
for (int i = 0; i < dt.Rows.Count; i++)
{
String tableName = dt.Rows[i]["TABLE_NAME"].ToString();
Response.Write("<h1>" + tableName + "</h1>");
schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object[] { null, null, tableName, null }); //查列名,和列的数据类型
for (int j = 0; j < schemaTable.Rows.Count; j++)
{
Response.Write("<li>字段名称:" + schemaTable.Rows[j]["COLUMN_NAME"].ToString() + " 类型:" + (OleDbType)schemaTable.Rows[j]["DATA_TYPE"] + "</li>");
}
}
conn.Close();
using System;
using System.Data.OleDb;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = lang.mdb;"; //链接数据库的配置,还可以配置密码
OleDbConnection connection = new OleDbConnection(connectionString); //创建链接对象
connection.Open(); //开启连接
DataTable dt = new DataTable(); //创建DataTable对象
DataRow dr; //创建行对象
OleDbCommand odCommand = connection.CreateCommand(); //创建sql查询对象
odCommand.CommandText = "select * from header"; //写入查询sql语句
OleDbDataReader odrReader = odCommand.ExecuteReader(); //查询 并返回数据集 不能直接用;
int size = odrReader.FieldCount; //判断数据集的 列数;
for (int i = 0; i < size; i++) //循环创建表。。
{
DataColumn dc; //创建列对象;
dc = new DataColumn(odrReader.GetName(i)); //odrReader.GetName(i)这是列名
dt.Columns.Add(dc); //给table加入列 字段名有了;
}
while (odrReader.Read()) //循环读取
{
dr = dt.NewRow(); //创建行
for (int i = 0; i < size; i++)
{
dr[odrReader.GetName(i)] =
odrReader[odrReader.GetName(i)].ToString(); //读出数据并给每行
}
dt.Rows.Add(dr);
}
Console.WriteLine(dt.Rows[0]["tips"]); //读取table数据
odrReader.Close(); //关闭查询连接
connection.Close(); //关闭连接
Console.ReadKey();
}
}
}
数据集:读到哪里 算哪里,不直接用数据,类似游标一样。