这是微软规定的,没什么为什么的,就像为什么百度是“百度”而不是“千度”一样。
实际应用中,这个后缀名是可以任意修改的,程序中只需明确指定其完整文件名即可。当然,改名后直接双击这个文件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文件怎么打开 希望高手指点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)