_CommandPtr pCommand;
pCommand.CreateInstance("ADODB.Command");
try
{
pCommand->ActiveConnection = theApp.m_pConnection_statistics;
}
catch (_com_error* e)
{
AfxMessageBox(e->ErrorMessage());
}
CString cmdstr;
cmdstr = "Insert into TrainInfo values (num,ptrain->m_TrainParam.strTrainID,ptrain->m_TrainParam.strTrainType,ptrain->m_TrainParam.strTrainLong,ptrain->m_TrainParam.strTrainWeight)";
pCommand->CommandText = _bstr_t(cmdstr);
pCommand->Execute(NULL, NULL, adCmdText);代码如上所示,我单步调试,最后EXECUTE执行不了,怀疑是不是那句SQL语句写错了,values后面是变量会不会有问题?

解决方案 »

  1.   

    sql = "Insert into TrainInfo values (num,ptrain->m_TrainParam.strTrainID,ptrain->m_TrainParam.strTrainType,ptrain->m_TrainParam.strTrainLong,ptrain->m_TrainParam.strTrainWeight)";
    如果你的sql 里用的是变量,应该这样写,如果你的一个字段是number型的,一个是char型的
    sprintf (sql,"Insert into TrainInfo values (%d,'%s')",ptrain->m_TrainParam.strTrainID,ptrain->m_TrainParam.strTrainType);然后你执行就可以了,应该就是你的SQL语句的问题!