在线等,一个老问题怎么更新Access数据库

foundnet 2003-10-28 11:54:10
代码如下:

OleDbConnection conn;
conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb");
conn.Open();
OleDbCommand cmd2 = new OleDbCommand("Insert Into User_Info (MyName,MyPsw) Values ('1111','2222')",conn);
cmd2.ExecuteNonQuery();

出错为:操作必须使用一个可更新的查询。
还有在Update和Delete 的时候都不成功
但是Select成功

我已经给test.mdb赋予ASPNET用户完全控制权限了,怎么还不行啊?
...全文
67 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
foundnet 2003-11-04
  • 打赏
  • 举报
回复
谢谢,接分!
顾君彦 2003-10-28
  • 打赏
  • 举报
回复
test.mdb所在目录必须设为对于ASPNET用户可写。
qiuji 2003-10-28
  • 打赏
  • 举报
回复
还是没有用吗?
你修改后可能有时不能成功,重新启动计算机试试看。
foundnet 2003-10-28
  • 打赏
  • 举报
回复
一定要文件夹吗?我已经给test.mdb赋权了阿
qiuji 2003-10-28
  • 打赏
  • 举报
回复
如果还不行,添加Everyone用户的“完全控制”的权限试试。
qiuji 2003-10-28
  • 打赏
  • 举报
回复
选中数据库文件所在的文件夹,右键->属性->在“安全”选项卡,添加ASP.NET用户的“写”的权限。
cnhgj 2003-10-28
  • 打赏
  • 举报
回复
这种情况一般是用户权限与文件的属性问题
nxct 2003-10-28
  • 打赏
  • 举报
回复
以下是我用向导生成的连接字符串,插入删除都可以,你比较一下看看:

Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=E:\c\DataGridReport\conntest\bin\Debug\db1.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
foundnet 2003-10-28
  • 打赏
  • 举报
回复
把Everyone 加为可写就成功了,可是这样不安全吧

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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