ado连接数据库问题求救!!!
问题1:创建一个ADO数据库应用工程,代码如下:
void CExample51View::OnInitialUpdate()
{
CView::OnInitialUpdate();
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");
//创建Connection对象
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("Provider=SQLOLEDB.1;DataSource=DB100.mdf",
"","",adModeUnknown); //连接数据库
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
运行时出现以下错误:
--------------------Configuration: Example51 - Win32 Debug--------------------
Linking...
Example51View.obj : error LNK2005: "class _com_ptr_t<class _com_IIID<struct _Connection,&struct __s_GUID _GUID_00000550_0000_0010_8000_00aa006d2ea4> > m_pConnection" (?m_pConnection@@3V?$_com_ptr_t@V?$_com_IIID@U_Connection@@$1?_GUID_00000550_0000_0
010_8000_00aa006d2ea4@@3U__s_GUID@@A@@@@A) already defined in Example51.obj
Debug/Example51.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.
Example51.exe - 1 error(s), 0 warning(s)
============================================================================================================================================================================================================
问题2:
用ADO在工程中创建新表:按下按钮后新表就创建,代码如下:
void CEX_Database06Dlg::OnNewtableButton()
{
// TODO: Add your control notification handler code here
_ConnectionPtr m_pConnection;
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("Provider=SQLOLEDB.1;Data Source=DB100.mdf","","",adModeUnknown);
}
}
catch(_com_error *e)
{
CString errormessage;
errormessage.Format("连接数据库失败:%s",e->ErrorMessage());
AfxMessageBox(errormessage);
}
_variant_t RecordsAffected;
m_pConnection->Execute("CREATE TABLE StudentInfo(StuNo INTEGER,StuAge INTEGER)",
&RecordsAffected,adCmdText);
}
点击按钮后出现(提示框):
Runtime Error!
Program:H:\......\EX_Database06.exe
This application has requested the runtime to terminated it in an unusual way.
Please contact the application's support team for more information.
刚用ADO,对这些出现的问题总是找不到门,麻烦大家帮我看看。谢谢。