今天图老师小编要跟大家分享Vc++中Ado动态创建access数据库,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!
【 tulaoshi.com - 编程语言 】
ado技术目前已经成为连接数据库的主流技术,下面我来介绍如何使用ado来动态创建access数据库。为了使用ado,必须引入微软的两个动态连接库msadox.dll和msado15.dll:
#pragma warning (disable: 4146)
#import "c:Program FilesCommon Filessystemadomsadox.dll"
#import "c:Program FilesCommon Filessystemadomsado15.dll" no_namespace rename("EOF", "EndOfFile")
#pragma warning (default: 4146)
将上述代码加入到stdafx.h文件中,由于ado是com组件,因此使用ado之前还要初始化com环境:
CoInitialize(NULL);
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)下面是一个在access数据库中创建表的sql语句的例子:
create table test
(
nametext(20) WITH COMPRESSION not null,
scoredecimal(12,4) not null default 0,
ID smallint not null default 0,
birthday date,
sex char(1),
CONSTRAINT CK_CH_SEX Check(SEX in ('N','V')),
CONSTRAINT PK_ID Primary Key (ID)
);
使用ADOX::CatalogPtr来创建mdb文件:
HRESULT hr = S_OK;
//Set ActiveConnection of Catalog to this string
CString strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source = d:est.mdb"));
try
{
ADOX::_CatalogPtr m_pCatalog = NULL;
hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
if(FAILED(hr))
{
_com_issue_error(hr);
}
else
{
m_pCatalog-Create(_bstr_t(strcnn)); //Create MDB
}
}
catch(_com_error &e)
{
// Notify the user of errors if any.
AfxMessageBox(_T(“error“));
}
创建一个连接对象打开刚刚建立的mdb文件:
_ConnectionPtr g_pConn;
g_pConn.CreateInstance(__uuidof(Connection));
g_pConn-Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:est.mdb;", "", "", adConnectUnspecified);
下面函数用来执行sql文件中的sql语句:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/) // Function name : RunSqlScript
// Description: 执行SQL脚本, peckermen@163.com, 2003-09-15
// Return type: BOOL 成功返回TRUE
// Argument : LPCSTR SqlScriptFile SQL脚本文件名
// Argument : char separator SQL 分割符号, 缺省';'
// Argument : char RemarkSQL 注释符号, 缺省'-'
BOOL RunSqlScript(LPCSTR SqlScriptFile, char separator = ';', char Remark = '-')
{
BOOL bRet = FALSE;
CFileFind finder;
CString ErrLong;
if (finder.FindFile(SqlScriptFile) == TRUE)
来源:http://www.tulaoshi.com/n/20160219/1625278.html
看过《Vc++中Ado动态创建access数据库》的人还看了以下文章 更多>>