|

楼主 |
发表于 2017-4-13 14:46:41
|
显示全部楼层
问题已经解决了,就是字段类型和更改数据类型不匹配:
SYC老师是这样实现的:
BOOL CRentDVDDlg::RentDVDByCommand(CString& strDVDID, CString& strRentName, CString& strRentDate)
{
BOOL bRet = FALSE;
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection = m_pConnection;
CString strSQL;
strSQL.Format(_T("insert into tbRentInfo(sDVDID,sName,sDate) values(\'%s\',\'%s\',\'%s\')"), strDVDID, strRentName, strRentDate);
pCommand->CommandText =_bstr_t(strSQL);
try {
HRESULT hr = pCommand->Execute(NULL, NULL, adCmdText);
if(SUCCEEDED(hr)){
bRet = TRUE;
}
}catch(_com_error *e) {
MessageBox(e->ErrorMessage());
}
return bRet;
}
我要进行这样修改之后才可以运行成功:
BOOL CRentDVDDlg::RentDVDByCommand(CString& strDVDID, CString& strRentName, CString& strRentDate)
{
BOOL bRet = FALSE;
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection = m_pConnection;
//*********修改部分***************
int nDVDID = _ttoi(strDVDID);
int nRentDate = _ttoi(strRentDate);
//*********修改部分***************
CString strSQL; //*********修改部分***************
strSQL.Format(_T("insert into tbRentInfo(sDVDID,sName,sDate) values(\'%d\',\'%s\',\'%d\')"), nDVDID, strRentName, nRentDate);
pCommand->CommandText =_bstr_t(strSQL); //*********修改部分***************
try {
HRESULT hr = pCommand->Execute(NULL, NULL, adCmdText);
if(SUCCEEDED(hr)){
bRet = TRUE;
}
}catch(_com_error *e) {
MessageBox(e->ErrorMessage());
}
return bRet;
}
我和SYC老师建的表是一样的,字段的数据类型也一样,很奇怪也很好奇SYC老师怎么运行就没有问题了?
非常感谢你的耐心解答啊 |
|