日期:2014-05-18  浏览次数:20439 次

数据库不能写入,谢谢。
SqlConnection   con=new   SqlConnection( "server=.;database=cc;uid=sa;pwd=; ");
con.Open();
SqlCommand   cmdd=new   SqlCommand( "update   cou   set   num= "+Application[ "tt "].ToString(),con);
                                                cmdd.ExecuteNonQuery();
con.Close();


OleDbConnection   con=new   OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "+System.Web.HttpContext.Current.Server.MapPath( "database/cc.mdb "));
con.Open();
OleDbCommand   cmdd=new   OleDbCommand( "update   cou   set   num= "+Application[ "tt "].ToString(),con);
cmdd.ExecuteNonQuery();
con.Close();

同样的语句,用SQL数据库就没问题,用ACCESS数据库就出现问题,但仍可从ACCESS数据库里读出数据,就是写不进去?
提示错误:

“/kl”应用程序中的服务器错误。
--------------------------------------------

操作必须使用一个可更新的查询。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.Data.OleDb.OleDbException:   操作必须使用一个可更新的查询。

源错误:  


行   57:   con.Open();
行   58:   OleDbCommand   cmdd=new   OleDbCommand( "update   cou   set   num= "+Application[ "tt "].ToString(),con);
行   59:   cmdd.ExecuteNonQuery();
行   60:   con.Close();
行   61:  
 

源文件:   c:\inetpub\wwwroot\kl\global.asax.cs         行:   59  

堆栈跟踪:  


[OleDbException   (0x80004005):   操作必须使用一个可更新的查询。]
      System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32   hr)   +41
      System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS   dbParams,   Object&   executeResult)   +174
      System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object&   executeResult)   +92
      System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior   behavior,   Object&   executeResult)   +65
      System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior   behavior,   String   method)   +112
      System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
      kl.Global.Session_Start(Object   sender,   EventArgs   e)   in   c:\inetpub\wwwroot\kl\global.asax.cs:59
      System.Web.SessionState.SessionStateModule.RaiseOnStart(EventArgs   e)
      System.Web.SessionState.SessionStateModule.OnStart(EventArgs   e)
      System.Web.SessionState.SessionStateModule.CompleteAcquireState()
      System.Web.SessionState.SessionStateModule.BeginAcquireState(Object   source,   EventArgs   e,   AsyncCallback   cb,   Object   extraData)
      System.Web.AsyncEventExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
      System.Web.HttpApplication.ExecuteStep(IExecutionStep   step,   Boolean&   completedSynchronously)