使用VB 2010将数据保存到Access数据库中。需要完整的代码

时间:2013-05-05 10:22:57

标签: vb.net visual-studio-2010

我使用Microsoft Access为我的应用程序创建了一个使用VB 2010创建的数据库文件。在另一台计算机上安装时,它显示以下错误,与保存文件有关。

  

您的应用程序中发生了未处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。如果单击退出,应用程序将立即关闭。

     

操作必须使用可更新的查询。

错误消息详情:

  

System.Data.OleDb.OleDbException (0x80004005):操作必须使用可更新的查询。

任何人都可以解释如何保存到数据库并防止出现此错误吗?

1 个答案:

答案 0 :(得分:0)

This website概述了Access查询可能无法更新的原因。在不了解您的具体情况的更多细节的情况下,我能做的最好的事情就是在这里复制建议,您可以看看这些建议是否适用于您的情况。我最初的猜测是,无法工作的数据库已经以只读模式打开,或者在文件上设置了只读标志,或者用户没有足够的权限。

  

第一步是弄清楚查询无法更新的原因。该   以下查询不可更新:

     
      
  • 任何带有GROUP BY子句的查询。
  •   
  • 任何带有TRANSFORM子句的查询。
  •   
  • 在SELECT子句中使用聚合函数(SUM(),MAX(),COUNT()等)的任何查询。
  •   
  • 包含DISTINCT谓词的任何查询。
  •   
  • 任何包含UNION运算符的查询。
  •   
  • 任何在SELECT子句中包含子查询的查询。
  •   
  • 任何SQL传递查询。
  •   
  • 任何基于三个或更多表的查询,其中存在多对一关系。
  •   
  • 任何基于只读查询的查询。
  •   
     

有时候应该可更新的查询不是。通常,有些东西   在查询之外是影响:

     
      
  • 基础表可能是只读的。或者数据库以只读模式打开。
  •   
  • 用户必须拥有更新基础数据的权限。
  •   
  • 记录可能暂时被锁定。稍后再试。
  •