• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

在线等,一个老问题怎么更新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用户完全控制权限了,怎么还不行啊?
...全文
7 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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 加为可写就成功了,可是这样不安全吧
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2003-10-28 11:54
社区公告

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