连接数据库
BOOL COutpatientSVEApp::InitInstance()
{
........
::CoInitialize(NULL); 
AfxOleInit();
m_pConnection.CreateInstance("ADODB.Connection");
try                 
{

//m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Demo.mdb","","",adModeUnknown);
m_pConnection->Open("Provider=SQLOLEDB.1;Data Source=211.66.26.176;Initial Catalog==r;UID=sa;PWD=sa","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("出错");
return FALSE;
}.........
}
void CShoukuandlg::Count()
{ m_pConnection=theApp.m_pConnection; try
{
m_pRecordset->Open("SELECT * FROM r",                // ²éѯDemoTable±íÖÐËùÓÐ×Ö¶Î
(IDispatch*)m_pConnection,  // »ñÈ¡¿â½Ó¿âµÄIDispatchÖ¸Õë
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
} _variant_t var;
_variant_t RecordsAffected;
CString value;
CString string;
try
{// m_Lshuju.SetHeadings(_T(value)); 
//¶ÁÊý¾Ý

m_pRecordset->MoveFirst(); while(!m_pRecordset->adoEOF)
{
// m_MyListCtrl.AddItem(_T("1"),_T("èïÒåÃ÷"),_T("1979-07-25"));
// int j=0;
var=m_pRecordset->Fields->Item[_variant_t(long(1))]->Value; string=Format(var);
if(string==stringXingming)
{

m_pRecordset->Close();
m_pParent->dlgShoukuan=NULL;
DestroyWindow();
return;
} m_pRecordset->MoveNext(); } m_pRecordset->MovePrevious();
m_pConnection->Execute("INSERT INTO rr(jiuzhanghao,xingming,xingbie,nianling,dizhi) VALUES  (222, ""Washington"",""男"",1,""广州"")",&RecordsAffected,adCmdText);
//jiuzhanghao(int),xingming(text),xingbie(text),nianling(int),dizhi(text)
// m_pRecordset->PutCollect("jiuzhanghao", _variant_t(long(11)));
m_pRecordset->Close(); }
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());

}

// m_pParent->dlgShoukuan=NULL;
// DestroyWindow();
}他说这里出错m_pConnection->Execute请问是什么错误 谢谢那位高手能帮我看看 谢谢

解决方案 »

  1.   

    m_pConnection->Execute("INSERT INTO rr(jiuzhanghao,xingming,xingbie,nianling,dizhi) VALUES  (222, ""Washington"",""男"",1,""广州"")",&RecordsAffected,adCmdText);这样的语句不出错才怪,怎么看怎么像脚本
    改成这样试试:m_pConnection->Execute("INSERT INTO (jiuzhanghao,xingming,xingbie,nianling,dizhi) VALUES  (222, 'Washington','男',1,'广州')",&RecordsAffected,adCmdText);
      

  2.   

    vc里边sql语句的字符串是用单引号的。
    建议楼主修改sql语句的写法。