Visual studio Visual Studio和Access数据库操作必须使用可更新的查询

Visual studio Visual Studio和Access数据库操作必须使用可更新的查询,visual-studio,ms-access,Visual Studio,Ms Access,我正在将.accdb文件部署到与正在安装的windows窗体程序相同的目录中。但是,当尝试更新数据库中的数据时,我得到一个“操作必须使用可更新查询”错误 文件属性不是只读的,但是当我打开accdb文件时,它会统计数据库是以只读方式打开的。我必须保存一份副本,使其不是只读的 我认为这与权限或文件属性无关。这只是在Vista上,XP似乎工作正常。当我打开原始accdb文件时,它不是只读的 visual studio如何处理accdb文件以使其成为只读文件?我如何修复它。您是否正在安装到程序文件Hei

我正在将.accdb文件部署到与正在安装的windows窗体程序相同的目录中。但是,当尝试更新数据库中的数据时,我得到一个“操作必须使用可更新查询”错误

文件属性不是只读的,但是当我打开accdb文件时,它会统计数据库是以只读方式打开的。我必须保存一份副本,使其不是只读的

我认为这与权限或文件属性无关。这只是在Vista上,XP似乎工作正常。当我打开原始accdb文件时,它不是只读的


visual studio如何处理accdb文件以使其成为只读文件?我如何修复它。

您是否正在安装到程序文件HeierArch中?如果是这样的话,那么对于用户来说是只读的,并且会导致Access数据库是只读的。应将Access数据库文件安装到用户应用程序数据文件夹。

如何使用ADO.Net访问数据?它在从调试器运行时有效,但在安装时无效吗?我不清楚为什么你认为这是Visual Studio的错,而不是Windows或.Net framework的错。此外,如果您能提供一些代码,可能会有所帮助……我确信代码与此无关,因为当我从installed目录单独打开hte accdb文件时,即当它声明数据库已以只读方式打开时。我必须保存一份副本,使其不是只读的。你是对的,这可能不是你的错。它实际上可能是windows或.net framework。我主要是想找到一个解决问题的办法。我曾试图这样做,但做不到。我可以通过安装将accdb文件安装到ProgramData目录,但它仍然显示只读行为。如何安装到用户应用程序数据文件夹,然后如何在app.config文件/settings中设置连接字符串的路径?谢谢您的时间。程序数据也可能是用户只读的。我现在想不起来了。遗憾的是,我对VisualStudio安装程序的工作原理一无所知,因此我无法帮助完成这部分工作。对于Access world中的app.config文件设置,我们会将Access数据文件安装到应用程序数据文件夹的标准子文件夹中,例如\%appdata%\My wonderful app folder\,然后程序会默认查看该文件夹。如果找不到,它会询问用户Access数据库文件所在的位置。因此,如果我要安装到用户应用程序数据文件夹中:即“C:\users\Voyagr12\AppData\Local\my program\”,则app.config文件中的连接字符串将是:数据源=\%AppData%\my program;这就是我的想法。但是,我不知道您的编程环境是否会支持app.config文件中的%appdata%。甚至事实上这是必要的。也许你可以在程序中使用某种系统调用/变量来使用这个位置,甚至不用app.config文件。好吧,我想我会看看我能想出什么。谢谢你的帮助。