为什么ACCESS建立的数据库后缀是.mdb,而不是.accdb

为什么ACCESS建立的数据库后缀是.mdb,而不是.accdb,第1张

这是微软规定的,没什么为什么的,就像为什么百度是“百度”而不是“千度”一样。

实际应用中,这个后缀名是可以任意修改的,程序中只需明确指定其完整文件名即可。当然,改名后直接双击这个文件ACCESS是不会自动打开它的,要先启动ACCESS,然后在“打开”菜单中找到这个文件再打开即可。或者把它拖到ACCESS的窗口也行。

因为表有几列,用txt的话不方便吧,用excel。

你参考下吧,我之前学习时的代码。Npoi *** 作excel,你先下载Npoidll,然后在项目里添加对它的引用。

下面的dt是DataTable对象。你先从数据库获取数据填充到dt里。然后继续下面的代码。

IWorkbook workbook = new HSSFWorkbook(); //在内存里创建工作簿。在excel里一个excel文件就是一个工作簿           

ISheet sheet = workbookCreateSheet("掉毛表");//在工作簿workbook里创建表,就是打开excel后看到的sheet1、sheet2。。

//下面给表sheet创建行、单元格并赋值。

for (int i = 0; i < dtRowsCount; i++)//dt有多少行,相应就给sheet创建多少行

{

     IRow r = sheetCreateRow(i);//i表示创建的是第几行

     for (int j = 0; j < dtColumnsCount; j++)//dt有多少列,相应就给sheet创建多少个单元格

     {

         ICell c = rCreateCell(j);//给r这个行创建第j个单元格

         cSetCellValue(dtRows[i][j]ToString());//给c这个单元格设置显示的内容,为dt的第i行第j格

      }

}

            

using (FileStream fs = FileCreate(@"c:\\2xls"))//创建文件流对象fs,这个fs与指定路径挂钩。

{

     workbookWrite(fs);//把workbook写入到文件流fs里。

}

MDB是ACCESS文件的后缀名。可以下载Office软件安装相关的ACCESS的控件就能打开。

如果是易语言的话需要一个外部数据库控件

代码如下:

外部数据库1打开MDB数据库 (“c:\数据库MDB”, , , , )

#include "windowsh"

#include <odbcinsth>

#include <sqlh>

#include <sqlexth>

#include <iostream>

#include "databaseh"

using namespace std;

void ConnectDatabase()

{

BOOL ret;

char driver[80] = "";

char dsn[20] = "";

char database[20] = "";

char dir[80] = "";

char uid[20] = "admin";

char pwd[20] = "";

char stmp[100] = "";

int mlen =0;

// 数据库驱动为 Access 类型数据库

strcpy(driver,"Microsoft Access Driver (mdb)");

// 数据源名称(即数据库)为stud

strcpy(dsn,"stud");

// 数据库文件为studentmdb,这是Access数据库文件

strcpy(database,"E:\\studentmdb");

strcpy(dir,"E:\\");

//sprintf(stmp,"DSN=%s\0DBQ=%s\0DEFAULTDIR=%s0\0",dsn,database,dir);

// 将上面的信息组织成连接字符串,存储于stmp中

sprintf(stmp,"DSN=%sDBQ=%sDescription=ODBC悢悩尮DataDirectory=%s\0",dsn,database,dir);

mlen = strlen(stmp);

// 将在stmp中所出现的 '' 都替换为 \0 空字符

// 注:此语句似乎有问题

for (int i=0; i<mlen; i++)

{

if (stmp[i] == '')

{

stmp[i] = '\0';

}

}

// 在ODBC中添加数据源

ret = SQLConfigDataSource(NULL,ODBC_ADD_DSN,driver, stmp ) ;

if (TRUE == ret)

{

cout<<"cheng gong"<<endl;

}

else

{

cout<<"shibai"<<endl;

}

RETCODE rc;

HENV henv;

HDBC hdbc;

HSTMT hstmt;

// Allocate ODBC handles and connect to Oracle

// 设置环境属性,如连接超时时间,登录超时时间等

rc = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);

rc = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void)SQL_OV_ODBC3,0);

rc = SQLSetEnvAttr(henv,SQL_ATTR_CONNECTION_TIMEOUT,(void)1000,0);

rc = SQLSetEnvAttr(henv,SQL_ATTR_LOGIN_TIMEOUT,(void)SQL_LOGIN_TIMEOUT_DEFAULT,0);

rc = SQLAllocHandle(SQL_HANDLE_DBC,henv, &hdbc);

SQLPOINTER rgbValue;

int a = 5;

rgbValue = &a;

SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);

// 检测 *** 作是否成功

if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO )

{

cout<<"SQLSetConnectAttr gong"<<endl;

}

// 建立数据库连接

rc = SQLConnect(hdbc, (SQLCHAR)dsn, SQL_NTS, (SQLCHAR)uid, SQL_NTS, NULL, 0);

// 检测连接是否成功

if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO )

{

cout<<"cheng gong"<<endl;

}

else

{

cout<<"shibai"<<endl;

cout<<rc<<endl;

}

}

你先配置数据库

>

以上就是关于为什么ACCESS建立的数据库后缀是.mdb,而不是.accdb全部的内容,包括:为什么ACCESS建立的数据库后缀是.mdb,而不是.accdb、C#中,我想要从access数据库文件(.mdb)中导出一个表的数据,类似图1,导出后两列的数据到.txt文件中、MDB文件怎么打开 希望高手指点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10137676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存