VC连接SQL Server数据库
>1.VC连接SQL Server数据库时,需要作哪些设置?
-----------------------------------------------------
(1)初始化COM库,引入ADO库定义文件
(2)用Connection对象连接数据库
(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。
(4)使用完毕后关闭连接释放对象。
>2.ADO、OLEDB、ODBC、DAO等几个数据库相关的词分别什么意思?有什么关系?
-----------------------------------------------------
是几种不同的数据库连接方式.
OLEDB 是一种基于组件对象的数据库连接方式.
ADO 是建立在 OLEDB 基础之上的一种简单快速的 OLEDB 连接方式.
ODBC 各数据库厂商基于 Microsoft 开发给他们的数据库公共接口而开发的连接方式.
DAO 是微软开发的更简单的数据连接方式, 早期使用得比较多.
>3.VC连接数据库的简要步骤。
-----------------------------------------------------
手上有一些, 顺便在网上看了一下, 下面这个应该是对的.
http://www.yesky.com/413/1839913.shtml
以下提供一个 VC + ADO 数据库连接方式的主要代码:
#import "c:\Program Files\Common Files\system\ado\msadox.dll" rename_namespace("ADOX")
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
rename_namespace("ADO") rename("EOF", "EndOfFile")
#pragma warning (disable: 4146)
#include "icrsint.h"
#include "Shlwapi.h"
#pragma comment(lib,"Shlwapi.lib")
using namespace ADO;
CoInitialize(NULL);
using namespace ADOX;
_CatalogPtr m_pCatalog = NULL;
CString strConnection, strTable;
TCHAR chFilePath[MAX_PATH];
GetModuleFileName(NULL,chFilePath,MAX_PATH);
(_tcsrchr(chFilePath, '\\'))[1] = 0;
lstrcat(chFilePath , _T("Test.mdb"));
strTable = chFilePath;
strConnection = _T("Provider=Microsoft.JET.OLEDB.4.0;Data source = ") + strTable + _T(";Jet OLEDB:Engine Type=5;");
if(!PathFileExists(chFilePath))
{
try
{
m_pCatalog.CreateInstance(__uuidof(Catalog));
m_pCatalog->Create(_bstr_t(strConnection ));
}
catch(...)
{
m_pCatalog->Release();
m_pCatalog = NULL;
CoUninitialize();
}
m_pCatalog->Release();
// m_pCatalog->Release();
// m_pCatalog = NULL;
}
CoUninitialize();
-----------------------------------------------------
(1)初始化COM库,引入ADO库定义文件
(2)用Connection对象连接数据库
(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。
(4)使用完毕后关闭连接释放对象。
>2.ADO、OLEDB、ODBC、DAO等几个数据库相关的词分别什么意思?有什么关系?
-----------------------------------------------------
是几种不同的数据库连接方式.
OLEDB 是一种基于组件对象的数据库连接方式.
ADO 是建立在 OLEDB 基础之上的一种简单快速的 OLEDB 连接方式.
ODBC 各数据库厂商基于 Microsoft 开发给他们的数据库公共接口而开发的连接方式.
DAO 是微软开发的更简单的数据连接方式, 早期使用得比较多.
>3.VC连接数据库的简要步骤。
-----------------------------------------------------
手上有一些, 顺便在网上看了一下, 下面这个应该是对的.
http://www.yesky.com/413/1839913.shtml
以下提供一个 VC + ADO 数据库连接方式的主要代码:
#import "c:\Program Files\Common Files\system\ado\msadox.dll" rename_namespace("ADOX")
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
rename_namespace("ADO") rename("EOF", "EndOfFile")
#pragma warning (disable: 4146)
#include "icrsint.h"
#include "Shlwapi.h"
#pragma comment(lib,"Shlwapi.lib")
using namespace ADO;
CoInitialize(NULL);
using namespace ADOX;
_CatalogPtr m_pCatalog = NULL;
CString strConnection, strTable;
TCHAR chFilePath[MAX_PATH];
GetModuleFileName(NULL,chFilePath,MAX_PATH);
(_tcsrchr(chFilePath, '\\'))[1] = 0;
lstrcat(chFilePath , _T("Test.mdb"));
strTable = chFilePath;
strConnection = _T("Provider=Microsoft.JET.OLEDB.4.0;Data source = ") + strTable + _T(";Jet OLEDB:Engine Type=5;");
if(!PathFileExists(chFilePath))
{
try
{
m_pCatalog.CreateInstance(__uuidof(Catalog));
m_pCatalog->Create(_bstr_t(strConnection ));
}
catch(...)
{
m_pCatalog->Release();
m_pCatalog = NULL;
CoUninitialize();
}
m_pCatalog->Release();
// m_pCatalog->Release();
// m_pCatalog = NULL;
}
CoUninitialize();