我在数据库中动态创建了一张表,表中的字段名也是通过后来执行“添加列”动态添加的
接着,我想在建好的表中添加一条记录表信息大致如下:
编号(nvarchar)\坐标X(real)\坐标Y(real)\数量(int)
代码如下:(省略建表语句)CString strID;m_pRecordset->AddNew();
m_pRecordset->PutCollect("编号",_variant_t(strID));
m_pRecordset->Update();
如上所示,仅对新记录行的“编号”字段进行了赋值,这时运行程序,提示“IDispatch error #3051”错误??现在问题是,上面的代码是否有误,如果添加记录时,一定要对各字段都赋值,而每个字段的数据类型不同,应该如何处理呢?????????????
接着,我想在建好的表中添加一条记录表信息大致如下:
编号(nvarchar)\坐标X(real)\坐标Y(real)\数量(int)
代码如下:(省略建表语句)CString strID;m_pRecordset->AddNew();
m_pRecordset->PutCollect("编号",_variant_t(strID));
m_pRecordset->Update();
如上所示,仅对新记录行的“编号”字段进行了赋值,这时运行程序,提示“IDispatch error #3051”错误??现在问题是,上面的代码是否有误,如果添加记录时,一定要对各字段都赋值,而每个字段的数据类型不同,应该如何处理呢?????????????
异常捕获改成这样错误提示会清楚一些。
try
{
//你的ADO代码
}
catch (_com_error& e)
{
CString strMsg;
strMsg.Format(_T("错误描述:%s\n错误消息%s"),
(LPCTSTR)e.Description(),
(LPCTSTR)e.ErrorMessage());
AfxMessageBox(strMsg);
}