(一)mdb格式的文件可以用MS Access打开编辑,也可以用Excel打开只能浏览。
(二)mdb是什么文件格式
就像word的doc文件格式,mdb文件格式是Access数据库文件,微软Office套件里就包含了Access。mdb(Microsoft Database)文件格式是Microsoft Access软件使用的一种存储格式,因其对数据 *** 作的方便性,常用在一些中小型程序领域。
首先,你要打开数据库,代码如下:
OleDbConnection conn = new OleDbConnection();
OleDbDataAdapter xAdapter = new OleDbDataAdapter();
connConnectionString ="Provider=MicrosoftJetOLEDB40;Data Source=数据库1mdb;User Id=;Password=;";//这里的地址按你的实际地址改下。
connOpen();
然后,检索你要的字段
string sql = "SELECT FROM 表名 where 字段a = " + textbox1text;
//如果需要模糊查找的改成这样
//string sql = "SELECT FROM 表名 where 字段a like '%" + textbox1text + "%'";
OleDbCommand sqlCmd = new OleDbCommand(sql, conn);//要有一个command去执行你的sql
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(strSQL, conn);
oleAdapterSelectCommand = sqlCmd;
//再来一个dataset
DataSet ds = new DataSet();
oleAdapterFill(ds);
//判断没有没数据,如果有数据,那么显示
if (dsTables[0]RowsCount >0)
{
textbox2Text = dsTables[0]Rows[0]["字段B"]ToString();
}
else
{
textbox2Text = "没值";
}
==========================
//插入数据库,同样,你要打开数据库,代码如下:
OleDbConnection conn = new OleDbConnection();
OleDbDataAdapter xAdapter = new OleDbDataAdapter();
connConnectionString ="Provider=MicrosoftJetOLEDB40;Data Source=数据库1mdb;User Id=;Password=;";//这里的地址按你的实际地址改下。
connOpen();
//组成sql
string sql = "insert into 表名(字段a,字段b) values('"+textbox1Text+"','"+textbox2Text+"')";
OleDbCommand sqlCmd = new OleDbCommand(sql, conn);//要有一个command去执行你的sql
sqlCmdExecuteNonQuery();
connClose();
======================
不好意思少了单引号
string sql = "SELECT FROM 表名 where 字段a = '" + textbox1text + "'";
手边没有环境,明早给你示例。移动的无线上网,速度太慢。呵呵。
====================
邮件已经发送,请查收。
我是2008的工程,如果你是低版本,直接打开Form1cs文件看代码,数据库在Bin目录下。
在百度中搜索access数据库查看器,从搜索结果中找到查看器软件的下载链接,并将软件下载到本地。
打开mdb图-1
双击就可以打开软件。
mdb文件图-2
打开软件有点击左上角的打开按钮。
mdb图-3
找到要查看的mdb数据库所在的位置,点击打开
mdb文件图-4
在软件窗口的左侧可以看到数据库文件中包括的数据表的名称列表,点击某个数据表,就可以在右侧看到表中的数据。
在下方的工具栏中可以快速移动当前选择行到首行或者尾行。
mdb文件图-5
编辑mdb数据:
如果需要对数据表中的数据进行增删等 *** 作,比如要增加一行新数据,可以选择要增加的位置,点击工具栏中的加号按钮。
打开mdb图-6
可以在表中生成一个空行,可以在其中添加新的数据。
数据库文件图-7
如果要删除行,在选择对应行后点击工具栏中的减号按钮,也就是删除行按钮。
数据库文件图-8
点击确认删除就可以删除数据了。
mdb文件图-9
可以进行单元格数据的修改,选择单元格,点击修改按钮。
数据库文件图-10
可以对单元格中的数据进行修改 *** 作。
数据库文件图-11
对sql语言比较熟悉的朋友,可以使用SQL查询界面,输入要查询的语句,点击执行,就可以列表要查询的数据内容了。
打开mdb图-12
以上就是关于打开mdb文件的 *** 作流程了,跟多精彩的 *** 作教程尽在“一键重装系统”官网上查阅。
1SELECT [学号],[姓名],[院系名称] FROM [学生表] as a inner join [院系表] as b on a院系代码=b院系代码 WHERE a[性别] = '男'
2SELECT [院系代码],[院系名称],[性别],COUNT(1) AS [人数] FROM [学生表] as a inner join [院系表] as b on a院系代码=b院系代码 GROUP BY [院系代码],[院系名称],[性别]
思路很简单,就是先依次获取Excel中表的表名,然后再将Excel表的数据导入到内存以DataTable格式存在,最后再把dataTable数据导入到Mdb数据库文件中。最后实现的功能可以使Excel多表进行导入,如果Mdb数据库文件中已有新建的表, *** 作是先删除数据库中的已存在表,再重新创建表,导数据。
源码:
using System;using SystemCollectionsGeneric;using SystemComponentModel;using SystemData;using SystemDrawing;using SystemLinq;using SystemText;using SystemThreadingTasks;using SystemWindowsForms;using SystemDataOleDb;
namespace TestK
{
public partial class Form1 : Form {
public Form1()
{
InitializeComponent();
}
public int tableNameNum = 0; //记录Excel中所有表的数量 public OleDbConnection connection = new OleDbConnection("Provider=MicrosoftJetOLEDB40;Data Source=C:\\Users\\CES\\Desktop\\CESmdb");
//建立与数据库文件CESmdb的连接
//打开以xls或者xlsx结尾的文件 private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog(); //创建窗体 dlgFilter = "Excel文件 (xls;xlsx)|xls;xlsx"; //浏览过滤出以xls或者xlsx结尾的文件 if(dlgShowDialog() == DialogResultOK)
{
string filePath = dlgFileName; //获取打开文件的路径 thistextBox1Text = filePath;
}
}
//获取Excel中所有表的表名 public string[] GetTableName(string excelFilename)
{
//建立与指定Excel文件的连接 string connectionString = stringFormat("Provider=MicrosoftACEOLEDB120;Data Source={0};Jet OLEDB:Engine Type=35;Extended Properties=Excel 80;Persist Security Info=False", excelFilename);
string[] tableName = new string[20]; //存储Excel中所有表的表名 string temp; //中间变量
using (SystemDataOleDbOleDbConnection connection = new SystemDataOleDbOleDbConnection(connectionString))
{
connectionOpen();
//获取数据库架构信息,包括列、主键、表等信息 DataTable table = connectionGetOleDbSchemaTable(SystemDataOleDbOleDbSchemaGuidTables, null);
for (int i = 0; i < tableRowsCount;i++ )
{
temp = tableRows[i]["Table_Name"]ToString(); //获取Excel中的表名 tableName[i] = tempReplace("$", ""); //因为获取的表名最后会有$符号,所以要替换 }
tableNameNum = tableRowsCount;
connectionClose();
}
return tableName;
}
//获取Excel中每张表的数据,以datatable类型返回 public DataTable GetExcelTable(string excelFilename,string tableName)
{
//建立与指定Excel文件的连接 string connectionString = stringFormat("Provider=MicrosoftACEOLEDB120;Data Source={0};Jet OLEDB:Engine Type=35;Extended Properties=Excel 80;Persist Security Info=False", excelFilename);
DataSet ds = new DataSet(); //数据集 //using中声明的对象connection,在using语句块结束后会自动释放 using (SystemDataOleDbOleDbConnection connection = new SystemDataOleDbOleDbConnection(connectionString))
{
connectionOpen();
//获取数据库架构信息,包括列、主键、表等信息 DataTable table = connectionGetOleDbSchemaTable(SystemDataOleDbOleDbSchemaGuidTables, null);
string strExcel = "select from " + "[" + tableName + "$]";
//打开数据链接,得到一个数据集 OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, connectionString);
//在数据集中查询表名为tableName的表,然后把其数据在装入数据集ds中 adapterFill(ds, tableName);
connectionClose();
}
return dsTables[tableName];//以datatable类型返回数据集ds中表名为tableName的表 }
//判断在数据库中,指定表名的表是否存在 public bool TableExists(string table)
{
bool rythm;
connectionOpen();
//读取表名为table的表的行数信息 rythm = connectionGetSchema("Tables", new string[4] { null, null, table, "TABLE" })RowsCount > 0;
connectionClose();
return rythm;
}
//如果在建表之前,数据库已经存在该表,那么首先要先删除此表 public void DeleteTable(string tableName)
{
string sql = "drop table "+tableName+";";
connectionOpen();
OleDbCommand cmd = new OleDbCommand(sql, connection);
cmdExecuteNonQuery();
connectionClose();
}
//中间类型为dataTable的表数据转换到数据库mdb文件中 public bool dataTableToMdb(string excelPath,string tableName)
{
//获取Excel中表的数据 DataTable dt = GetExcelTable(excelPath,tableName);
//表中数据大于等于两行,数据转入格式才是正确的 if (dtRowsCount >= 2)
{
string[] cloumnName = new string[50];
//获取Excel中表的所有列名 for (int i = 0; i < dtColumnsCount; i++)
{
cloumnName[i] = dtRows[0][i]ToString();
}
//在mdb数据库文件中创建表 string sql = "create table " + tableName + " (" + cloumnName[0] + " varchar null)";
connectionOpen();
OleDbCommand cmd = new OleDbCommand(sql, connection);
cmdExecuteNonQuery();
//在mdb数据库文件中,给已创建好的表添加好所有列 for (int i = 1; i < dtColumnsCount; i++)
{
sql = "alter table " + tableName + " add " + cloumnName[i] + " varchar null";
cmd = new OleDbCommand(sql, connection);
cmdExecuteNonQuery();
}
//在mdb数据库文件中,给已创建好的表加入数据 for (int t = 1; t < dtRowsCount; t++)
{
sql = "insert into " + tableName + " values('";
for (int k = 0; k < dtColumnsCount; k++)
{
if (k != dtColumnsCount - 1)
{
sql = sql + dtRows[t][k]ToString() + "','";
}
else {
sql = sql + dtRows[t][k]ToString() + "')";
}
}
cmd = new OleDbCommand(sql, connection);
cmdExecuteNonQuery();
}
connectionClose();
return true;
}
else {
MessageBoxShow("Excel中"+ tableName +"表的原始数据格式不正确!");
}
return false;
}
private void button2_Click(object sender, EventArgs e)
{
int flag = 1; //判断由Excel表导入到Mdb是否成功的标记变量
原理 先在MDB文件中建立目标表的Link表 然后用本地 *** 作MDB数据库的方式复制一个表的全部或者部分 删除Link表 至此 已经完成数据库的备份 此方法不通过循环 速度还算理想 实现 首先假设ODBC中设置了一个Oracle的数据源 其数据库服务名为LinkDataBase DSN为ORAODBC 用户名是Administrator 密码Password 把表Oracle_Table导入到C:\Temp mdb的MDB_DATABASE 中间步骤链接表的名称为TempLink Dim DB As DAO Database 数据库对象 DAO Dim tbLink As DAO TableDef 表对象 打开备份目标MDB Set DB = OpenDatabase( C:\Temp mdb ) 以下开始创建Link表 Set tbLink = DB CreateTableDef( TempLink ) 设置连结字符串 tbLink Connect = ODBC;DATABASE=LinkDataBase;UID=Administrator;PWD=Password;DSN=ORAODBC tbLink SourceTableName = LinkDataBase Oracle_Table DB TableDefs Append tbLink 复制表(可加条件) DB Execute select into MDB_DATABASE from TempLink 删除链接表 DB TableDefs Delete TempLink lishixinzhi/Article/program/Oracle/201311/18615
以上就是关于mdb文件怎么打开全部的内容,包括:mdb文件怎么打开、求c# *** 作mdb文件范例、为什么不能在桌面直接打开mdb文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)