ACCESSS数据库更新问题

yusongleon 2009-12-10 09:41:57
代码如下:
但是走到Update()时出错,请哪位高手解答一下,谢谢
try
{
m_pAccBaseRecordset->AddNew();
m_pAccBaseRecordset->PutCollect("字段名1", _variant_t(CString类型数据1));
m_pAccBaseRecordset->PutCollect("字段名2", _variant_t(CString类型数据2));
m_pAccBaseRecordset->PutCollect("字段名3", _variant_t(CString类型数据3));
m_pAccBaseRecordset->PutCollect("字段名4", _variant_t(CString类型数据4));
m_pAccBaseRecordset->PutCollect("字段名5", _variant_t(CString类型数据5));
m_pAccBaseRecordset->PutCollect("字段名6", _variant_t(CString类型数据6));
m_pAccBaseRecordset->PutCollect("字段名7", _variant_t(CString类型数据7));
m_pAccBaseRecordset->PutCollect("字段名8", _variant_t(CString类型数据8));
m_pAccBaseRecordset->PutCollect("字段名9", _variant_t(CString类型数据9));
m_pAccBaseRecordset->Update();
}
catch(_com_error *e)//错误判断
{
AfxMessageBox(e->ErrorMessage());
}
...全文
133 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
newarmy78 2011-01-25
  • 打赏
  • 举报
回复
重新装一下access吧 微软的东西用久了有些问题说不清
zhaozilan_ly 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 yusongleon 的回复:]
代码如下:
但是走到Update()时出错,请哪位高手解答一下,谢谢
try
{
m_pAccBaseRecordset->AddNew();
m_pAccBaseRecordset->PutCollect("字段名1", _variant_t(CString类型数据1));
m_pAccBaseRecordset->PutCollect("字段名2", _variant_t(CStr……
[/Quote]

楼主能告诉这个问题的解决办法吗?
zhaozilan_ly 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 yusongleon 的回复:]
代码如下:
但是走到Update()时出错,请哪位高手解答一下,谢谢
try
{
m_pAccBaseRecordset->AddNew();
m_pAccBaseRecordset->PutCollect("字段名1", _variant_t(CString类型数据1));
m_pAccBaseRecordset->PutCollect("字段名2", _variant_t(CStr……
[/Quote]

楼主。这个问题解决了吗?是如何解决的。。能告诉下吗
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
我刚在调试时发现debug框内有这样的提示:
Error: Missing 'ODBC' prefix on connect string.
会不会着这个原因?
怎么解决
ACMAIN_CHM 2009-12-10
  • 打赏
  • 举报
回复
[Quote]怎么压缩?[/Quote]

压缩和修复 Access 文件
为确保实现最佳性能,应该定期压缩和修复 Microsoft Access 文件。而且,如果在用户使用 Access 文件过程中发生了严重的问题,并且 Access 试图恢复时,用户会收到一条消息,告知修复操作已取消,应该压缩并修复文件。

注意 压缩位于使用 NTFS 文件系统的卷上的 Microsoft Access 文件时,Access 会删除已有文件并用压缩文件进行替代。接着,Access 将默认文件权限应用于新的文件。如果文件是 Access 数据库,请使用 Access 用户级安全机制而不是文件级权限。否则,请使用文件夹权限。有关 NTFS 文件系统和文件夹权限的其他信息,请参阅 Windows“帮助”。

为了压缩和修复 Access 数据库,用户必须对该 Access 数据库具有“打开/运行”和“以独占方式打开”的权限。

压缩和修复当前 Access 文件

如果要压缩位于服务器或共享文件夹上的共享 Microsoft Access 数据库,请确保没有其他用户打开它。
在“工具”菜单上,指向“数据库实用工具”,然后单击“压缩和修复数据库”。
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
我的日期格式是“常规日期格式”:例:2009-12-9 14:38:26
我也打断点了:其中要写入时间字段的也是这个格式。可是就是执行到update就出错
我试着吧写入数据库的那几句注释掉仍然是update出错!

至于wwwwb说的方法我不他太懂,怎么压缩?
ACMAIN_CHM 2009-12-10
  • 打赏
  • 举报
回复
检查一下ACCESS中的默认日期格式和你提供的日期格式是否一致。是不是有人改过系统的日期格式了。
wwwwb 2009-12-10
  • 打赏
  • 举报
回复
你压缩一下MDB试试,在ACCESS中查看这个表
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
各位高手,我觉得不是写入数据类型的问题,我一直用得好好的,突然就这样子了,每次走到update就出错
ACMAIN_CHM 2009-12-10
  • 打赏
  • 举报
回复
应该转成日期时间型,而不是字符型
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
我的是这样子的
CTime time_temp = CTime::GetCurrentTime();
CString strtime = time_temp.Format("%Y-%m-%d %H:%M:%S");
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
谢谢各位我先试试。有问题我会再来的!谢谢各位
ACMAIN_CHM 2009-12-10
  • 打赏
  • 举报
回复
字段2,字段3是“日期/时间”

参见下例
COleDateTime m_time;
CComVariant temp = m_time;
m_pRs->PutCollect(_variant_t("shijian"),(_variant_t)temp);
wwwwb 2009-12-10
  • 打赏
  • 举报
回复
日期/时间:加##试试
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
KERNEL32! 7c81eb33()
MSVCRTD! _CxxThrowException@8 + 57 bytes
_com_raise_error(long 0x80040e21, IErrorInfo * 0x016ea120) + 35 bytes
_com_issue_errorex(long 0x80040e21, IUnknown * 0x017063f8, const _GUID & {IID_IRecordset}) + 93 bytes
Recordset15::Update(const _variant_t & {0x80020004 VT_ERROR}, const _variant_t & {0x80020004 VT_ERROR}) line 699

这是错误。

汇编错误指向这一行:7C81EB33 pop esi
yusongleon 2009-12-10
  • 打赏
  • 举报
回复
字段2,字段3是“日期/时间”,其余是文本型
wwwwb 2009-12-10
  • 打赏
  • 举报
回复
什么错误信息,检查字段类型是否与变量类型一致
ACMAIN_CHM 2009-12-10
  • 打赏
  • 举报
回复
这些字段都是字符型?
wangqingsong575 2009-12-10
  • 打赏
  • 举报
回复
同意楼上所说
yongyuandeni 2009-12-10
  • 打赏
  • 举报
回复
打开数据库的时候吧connectstring串加上去呀。

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧