我本来代码如下:(运行正常)
GetDlgItem(IDC_EDIT1)->GetWindowText(m_bt);
GetDlgItem(IDC_COMBO1)->GetWindowText(strTemp);
str1.Format("insert into wz (title,class,nr) values('%s','%s','%s')",m_bt,strTemp,fromClipboard);
m_pConnection->Execute((_bstr_t)str1,NULL,adCmdText);
我现在想把时间也加到记录里去就出错了
GetDlgItem(IDC_EDIT1)->GetWindowText(m_bt);
GetDlgItem(IDC_COMBO1)->GetWindowText(strTemp); SYSTEMTIME sys;
GetLocalTime( &sys );
CString time;
time.Format("%d-%d-%d %d:%d:%d",sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond);
str1.Format("insert into wz (title,class,nr,date) values('%s','%s','%s','%s')",m_bt,strTemp,fromClipboard,time);
m_pConnection->Execute((_bstr_t)str1,NULL,adCmdText);
编译没问题,运行就出错,不知道什么原因
GetDlgItem(IDC_EDIT1)->GetWindowText(m_bt);
GetDlgItem(IDC_COMBO1)->GetWindowText(strTemp);
str1.Format("insert into wz (title,class,nr) values('%s','%s','%s')",m_bt,strTemp,fromClipboard);
m_pConnection->Execute((_bstr_t)str1,NULL,adCmdText);
我现在想把时间也加到记录里去就出错了
GetDlgItem(IDC_EDIT1)->GetWindowText(m_bt);
GetDlgItem(IDC_COMBO1)->GetWindowText(strTemp); SYSTEMTIME sys;
GetLocalTime( &sys );
CString time;
time.Format("%d-%d-%d %d:%d:%d",sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond);
str1.Format("insert into wz (title,class,nr,date) values('%s','%s','%s','%s')",m_bt,strTemp,fromClipboard,time);
m_pConnection->Execute((_bstr_t)str1,NULL,adCmdText);
编译没问题,运行就出错,不知道什么原因
{
}
catch(_com_error &e)
{
CString strErrMsg = e.Description();
AfxMessageBox(strErrMsg);
}
try
{
str1.Format("insert into wz (title,class,nr,date) values('%s','%s','%s','%s')",m_bt,strTemp,fromClipboard,time);
m_pConnection->Execute((_bstr_t)str1,NULL,adCmdText);
}
catch(_com_error &e)
{
CString strErrMsg = e.Description();
AfxMessageBox(strErrMsg);
}
编译有问题,
error C2440: 'initializing' : cannot convert from 'class _bstr_t' to 'class CString'
No constructor could take the source type, or constructor overload resolution was ambiguous
Error executing cl.exe.3.exe - 1 error(s), 1 warning(s)
strCString="2003-10-27 6:24:37"; //CString--->COleDateTime
COleVariant vtime(strCString);
vtime.ChangeType(VT_DATE);
COleDateTime time4=vtime;
SYSTEMTIME sys;
GetLocalTime( &sys );
CString time;
time.Format("%d-%d-%d %d:%d:%d ", sys.wYear,sys.wMonth,sys.wDay, sys.wHour,sys.wMinute,sys.wSecond);
COleVariant vtime(time);
vtime.ChangeType(VT_DATE);
COleDateTime time4=vtime;
str1.Format("insert into wz (title,class,nr,date) values('%s','%s','%s','%s')",m_bt,strTemp,fromClipboard,time4);
还是运行有错
这里面的两个空格?("%d-%d-%d %d:%d:%d"或者说你的数据表里的date字段的类型问题,建议先在查询分析器里运行一下你程序里生成的SQL,看看是何错
1.这样的SQL是没有问题的,你把SQL中的data换成[date]试下
试了还是不行
2.我把这里面的两个空格time.Format("%d-%d-%d %d:%d:%d",sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond);
?("%d-%d-%d %d:%d:%d"给删掉了,也不行。我的的数据表里的date字段是日期/时间数据类型。
3.建议先在查询分析器里运行一下你程序里生成的SQL,看看是何错
我不知道怎么在查询分析器里运行程序里生成的SQL
4.你的数据库文件修改为带有时间项了吗?。不明白你的意思