社区
数据库
帖子详情
请问用ADO怎样创建一个access数据库文件?
virsnow
2005-02-07 04:51:22
请问
1.用ADO怎样创建一个access数据库文件?(test.mdb)
2.假设test.mdb中有三个表,user1,user2,user3.怎样把user1和user2中不同的用户找出,写入user3中去呢?(用ADO)
谢谢?
...全文
630
10
打赏
收藏
请问用ADO怎样创建一个access数据库文件?
请问 1.用ADO怎样创建一个access数据库文件?(test.mdb) 2.假设test.mdb中有三个表,user1,user2,user3.怎样把user1和user2中不同的用户找出,写入user3中去呢?(用ADO) 谢谢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wang_bluebird
2005-04-05
打赏
举报
回复
mark
virsnow
2005-02-20
打赏
举报
回复
谢谢楼上各位!
virsnow
2005-02-19
打赏
举报
回复
其实第二个问题意思是:
假设test.mdb中有三个表:user1,user2,user3.
怎样把user1.name和user2.name中不同的用户找出,写入user3.name中去呢?(用ADO)
CodeProject-Jerry
2005-02-13
打赏
举报
回复
你的第二个问题说得很不清楚~!
我想你的意思是这样:
INSERT INTO tUser3
SELECT [Name] From tUser1 a Where a.[Name] NOT IN SELECT [Name] From tUser2
真如实观
2005-02-12
打赏
举报
回复
1、用ADOX创建Access数据库。
#include <afx.h>
#include <afxdisp.h>
#pragma warning (disable: 4146)
#import "c:\Program Files\Common Files\system\ado\msadox.dll" no_namespace
#import "c:\Program Files\Common Files\system\ado\msado15.dll" rename("EOF",
"EndOfFile")
#include "icrsint.h"
#pragma warning (default: 4146)
public:
_CatalogPtr m_pCatalog;
bool CreateDatabase(LPCTSTR lpstrCreate);
......
//----------------------------------------------------
bool CMyADOClass::CreateDatabase(LPCTSTR lpstrCreate)
{
try
{
m_pCatalog->Create(_bstr_t(lpstrCreate));
return true;
}
catch(_com_error &e)
{
dump_com_error(e);
return false;
}
}
......
//---------------------------------------------------------
2、表对象可以用ADOX创建(就是_TablePtr和_ColumnPtr)。
也可以用sql语句创建:create table mytablename(id int,thename varchar(12)...);
virsnow
2005-02-07
打赏
举报
回复
我就是不知sql语句怎么写啊,能说祥细点吗?
谢谢!
oyljerry
2005-02-07
打赏
举报
回复
1,用adox创建数据库文件
2,用sql语句,执行
virsnow
2005-02-07
打赏
举报
回复
第二个问题,只要给出sql语句就行了,或给个思路!
virsnow
2005-02-07
打赏
举报
回复
谢谢!还有别的方法吗?
kugou123
2005-02-07
打赏
举报
回复
1.用ADOX
BOOL CPassportDoc::CreateDB(LPCTSTR lpszFile)
{
if(::PathFileExists(lpszFile)){
CString strTemp;
strTemp.Format(IDS_TARGET_EXISTS,lpszFile);
AfxMessageBox(lpszFile);
return FALSE;
}
ADODB::_ConnectionPtr tempConnn;
ADOX::_CatalogPtr pCatalog = NULL;
ADOX::_TablePtr pTable = NULL;
ADOX::_IndexPtr pIndexNew = NULL;
ADOX::_IndexPtr pIndex = NULL;
CString strConnect;
CString strDBPath=lpszFile;
strConnect.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"),strDBPath);
COleVariant Connect(strConnect);
try{
pCatalog.CreateInstance(_T("ADOX.Catalog"));
pCatalog->Create((LPCTSTR)strConnect);//创建数据库
tempConnn.CreateInstance(_T("ADODB.Connection"));
tempConnn->PutCommandTimeout(30);
tempConnn->PutConnectionTimeout(30);
tempConnn->put_CursorLocation(ADODB::adUseClient);
tempConnn->Open(_bstr_t(strConnect),_bstr_t(),_bstr_t(),ADODB::adConnectUnspecified);
pCatalog->PutActiveConnection(_variant_t((IDispatch *) tempConnn));
pTable.CreateInstance(_T("ADOX.Table"));
pTable->ParentCatalog =pCatalog;
pTable->Name="Passport";
ADOX::ColumnsPtr pCols =pTable->Columns;
pCols->Append(_T("RecordID") ,ADOX::adInteger,0);//自动编号字段
pCols->Append(_T("Name") ,ADOX::adWChar,255);//文本字段
pCols->Append(_T("DateOfBirth") ,ADOX::adDate,0);//日期字段
pCols->Append(_T("OtherInfo"),ADOX::adLongVarWChar,0);//备注字段
pCatalog->Tables->Refresh();
long lCount=pCols->Count;
for(long i=0;i<lCount;i++){
pCols->GetItem(i)->ParentCatalog =pCatalog;//重要!设置Catalog,参见Q201826 PRB: Error 3265 When You Access Properties Collection
ADOX::PropertiesPtr pProperties=pCols->GetItem(i)->Properties;
if(pProperties){//这里是用于调试的属性显示代码
long lp=pProperties->Count;
TRACE("Properties for Col %s\r\n",(LPCTSTR)pCols->GetItem(i)->Name);
for(long j=0;j<lp;j++){
TRACE("\rProperty %s:%s\r\n",g_GetValueString(pProperties->GetItem(j)->Name)
,g_GetValueString(pProperties->GetItem(j)->Value));
}
}
}
pCols->GetItem(_T("RecordID"))->Properties->GetItem(_T("Description"))->Value=_T("记录编号");//注释
pCols->GetItem(_T("RecordID"))->Properties->GetItem(_T("AutoIncrement"))->Value=true;//自动编号
pCols->GetItem(_T("Name"))->Properties->GetItem(_T("Jet OLEDB:Compressed UniCode Strings"))->Value=true;
pCols->GetItem(_T("Name"))->Properties->GetItem(_T("Description"))->Value=_T("姓名");
pCols->GetItem(_T("DateOfBirth"))->Properties->GetItem(_T("Description"))->Value=_T("出生日期");
pCols->GetItem(_T("OtherInfo"))->Properties->GetItem(_T("Jet OLEDB:Compressed UniCode Strings"))->Value=true;
pCols->GetItem(_T("OtherInfo"))->Properties->GetItem(_T("Description"))->Value=_T("其他信息");
pCatalog->Tables->Append(_variant_t ((IDispatch*)pTable));//添加表
pCatalog->Tables->Refresh();//刷新
pIndexNew.CreateInstance(_T("ADOX.Index"));
pIndexNew->Name = "RecordID";//索引名称
pIndexNew->Columns->Append("RecordID",ADOX::adInteger,0);//索引字段
pIndexNew->PutPrimaryKey(-1);//主索引
pIndexNew->PutUnique(-1);//唯一索引
pTable->Indexes->Append(_variant_t ((IDispatch*)pIndexNew));//创建索引
pIndexNew=NULL;
pCatalog->Tables->Refresh();//刷新
return TRUE;
}
catch(_com_error &e){
ESErrPrintProviderError(tempConnn);
ESErrPrintComError(e);
return FALSE;
}
catch(...){
}
return FALSE;
}
ADO
_QT_qt
access
_
ADO
_
ACCESS
数据库
`qt
access
`可能是一个自定义的QT模块或者类库,旨在简化通过
ADO
与
ACCESS
数据库
的交互。 描述中提到“QT通过
ADO
形式操作
access
数据库
的封装类,亲测可用。”这表明已经有人实现了一个QT类,该类封装了
ADO
接口,用于...
C#中怎么创建
ACCESS
数据库
文件
?
在 C# 中创建
Access
数据库
文件
通常涉及到使用
ADO
X(ActiveX Data Objects Extensions)库。
ADO
X 是一个用于管理数据源对象(如目录、表、索引等)的 COM 组件集。通过
ADO
X,可以方便地在应用程序中创建新的...
MFC用
ADO
创建
ACCESS
数据库
以及表单
本教程将详细介绍如何在MFC应用中使用
ADO
来
创建一个
ACCESS
数据库
并构建相应的表单。 首先,你需要了解MFC的基本概念。MFC提供了一种面向对象的方式来编写Windows应用程序,它封装了许多Win32 API,使得开发过程更为...
VC++使用
ADO
开发
ACCESS
数据库
下面将通过示例演示如何使用
ADO
X
创建一个
Access
数据库
。 ##### 示例代码分析 1. **工程搭建**: - 在Visual C++ 6.0中
创建一个
新的基于对话框的应用程序“
ADO
XCreateDatabase”。 - 在对话框IDD_...
用VC++创建
Access
数据库
源码
在本文中,我们将深入探讨如何使用Visual C++(VC++)来创建
Access
数据库
,并了解相关的编程概念和技术。
Access
数据库
是Microsoft Office套件的一部分,它提供了一个用户友好的环境来管理和处理数据。然而,开发人员...
数据库
4,017
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章