bool Testtb::ConnectSQLServer()
{
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox("ADO Init failed");
return false;
} try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("DSN=testdb;Provider=MSDASQL","sa","", adConnectUnspecified);
return true;
}
catch(...)
{
AfxMessageBox("Error...");
return false;
}
}bool Testtb::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
try
{
ADOSet->Open(strSQL, m_pConnection.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
return true;
}
catch(...)
{
AfxMessageBox("错误");
return false;
}
}
我写了上面的属于类Testtb的两个函数,然后创建Testtb的对像tb,再调用这两个函数:
tb.ConnectSQLServer;
tb.ADOExecute(tb.m_pRecordSet, strQuery);
其中strQuery = "insert testtb (name) values ('"+tb.m_strName+"')";
并且
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordSet;
是类Testtb的成员变量,请问那个strQuery能被执行吗?如果不能执行,请问应该如何修改,谢谢!!
{
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox("ADO Init failed");
return false;
} try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("DSN=testdb;Provider=MSDASQL","sa","", adConnectUnspecified);
return true;
}
catch(...)
{
AfxMessageBox("Error...");
return false;
}
}bool Testtb::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
try
{
ADOSet->Open(strSQL, m_pConnection.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
return true;
}
catch(...)
{
AfxMessageBox("错误");
return false;
}
}
我写了上面的属于类Testtb的两个函数,然后创建Testtb的对像tb,再调用这两个函数:
tb.ConnectSQLServer;
tb.ADOExecute(tb.m_pRecordSet, strQuery);
其中strQuery = "insert testtb (name) values ('"+tb.m_strName+"')";
并且
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordSet;
是类Testtb的成员变量,请问那个strQuery能被执行吗?如果不能执行,请问应该如何修改,谢谢!!
初始化了没有?你上面的代码里面没写