我已经给aspnet以完全控制。
我用的是windows 2003 iis 6.0
access所在的文件夹的安全属性添加everone为完全控制也没用。
我明明是把mydata.mdb只读的的对号去掉了,可是我打开access以后,
它提示我说:数据库“mydata”为只读,你不能保存对这个数据库中数据或对象定义的更改。
?????????
他为什么会这么说,我重起了也没用。
我才装的系统,在2000里就没事。Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at janIndex.ImageDengLu_Click(Object sender, ImageClickEventArgs e) 
---------------------------------------
我查了一下,是jan_Command.ExecuteNonQuery();抛出的
string jan_strConnection="Provider=Microsoft.Jet.OLEDB.4.0;";
jan_strConnection+="Data Source=c:/Inetpub/wwwroot/job/data/mydata.mdb";
 try
 {
   using(OleDbConnection jan_Connection=new OleDbConnection(jan_strConnection))
   {
string jan_sql="update users set user_denglu=user_denglu+1 where user_id="+yonghu_id+"";
      
jan_Connection.Open();
                        
          OleDbCommand jan_Command = new OleDbCommand(jan_sql,jan_Connection);
                      
           jan_Command.ExecuteNonQuery();
    
 jan_Connection.Close();

 
     } 
   }
catch(OleDbException eo)
 {
   onewxw.Text=eo.ToString();
   return ;
}

解决方案 »

  1.   

    请确认ASPNET用户是否有对数据库写的权限,如果没有,则需要添加上。
      

  2.   

    对不起,没看清楚,那你要右键检查一下ACCESS是否是只读属性,因为刚装系统很可能出现文件被自动设为只读。
      

  3.   

    access所在的文件夹的安全属性添加everone为完全控制重起
      

  4.   

    http://community.csdn.net/Expert/topic/3054/3054501.xml?temp=.4695856
      

  5.   

    如果是XP或windows2003,工具->文件夹选项->取消简单文件共享
    MDB文件->右键->添加everyone完全权限
      

  6.   

    to:大家看清楚
    我已经给aspnet以完全控制。
    我用的是windows 2003 iis 6.0
    access所在的文件夹的安全属性添加everone为完全控制。----------------------------------------
    是不是给windows2003是asp_server为完全控制
      

  7.   

    xp中是aspnet为完全控制2003就不知道了,
    是不是aspserveice
    帮你顶
      

  8.   

    iis 6就给 network service,
      

  9.   

    Server 2003对权限的要求特别严格,在调试的时候会对TEMP目录进行操作, 因此要求次目录有ASP.NET应用程序的操作权限(读写就可以了,不需要完全控制!) 像我的TEMP的位置:c:\Documents and Settings\Administrator\Local Settings\Temp 它的位置你可以在:右键我的电脑->属性->高级->环境变量中找到的。
     
     给他ASPNET用户的权利就可以了(不过好象network service用户也可以). 但是如果你没有ASPNET用户怎么办呢? 到c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322下执行aspnet_regiis -i,  这个命令是"用来安装ASP.NET的此版本,
     
      并更新IIS元数据库根处的脚本映射和根以下的所有脚本映射. 现有的低版本脚本映射升级到此版本."  执行完后给TEMP ASP.NET应用程序的权限后就可以运行了!
      

  10.   

    to:loveASUS
    太谢了,这你都知道
      

  11.   

    做个这个网站的多少钱?
    www.020job.com