xp下Asp.net对Access的操作(delete操作)

Asp.net项目用Sqlserver数据库正常,移植到Access就出现问题。其中:“Microsoft Jet 数据库引擎打不开文件'C:\***\*.mdb'。它已经被别的用户以独占方式打开,或没有查看数据的权限...”这个错误我搞了半天才搞定。

首 先,我是NTFS分区(听说这个格式对权限安全性要高些),其次是XP系统,所以右键单击文件夹属性没有安全选项,需要先打开文件系统 --工具-->文件夹选项-->查看-->去掉“使用简单文件共享(推荐)”前的勾。右键打开存放数据库文件夹,属性-->安 全 里添加用户Everyone,赋权限“完全控制”(数据库放C盘,还是失败,移到D盘-->成功)。然后我的项目可以读取到数据库的 信息了。当对其修改时,问题又来了,无法修改。原来数据库本身没有赋予访问用户修改的权限,于是同样右键数据库,安全里添加Everyone,赋予完全控 制权限,OK,我的程序终于跑起来了。

Access数据库不同于Sqlserver, 用惯了Sqlserver后还真不习惯它。Access中delete语句必须加from,在Sqlserver是可以不要的,还有就是遇到错误信息:语 法错误(操作符丢失) 在查询表达式'*****'中,就可能是字段名冲突,最好的解决办法就是所有字段名加上'[]'。Access没有存储过程,所拥有的“查询”一次也只能 执行一条sql语句,这个不太方便...

Access的selecttop语句有时会失效,这主要是因为查询里包含了order by语句,如:

select top 3 from users order bycreatetime desc

当createtime含有相同值时,Access的selecttop就会失效。解决办法就是将主键id也包含在order by里面,因为主键不会有重复值,既修改为:

select top 3 from users order bycreatetime,id desc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值