一个文章系统的文章显示部分(下载地址:http://www.rfidsky.net/rfid.zip)在windows server 2003下运行正常,但在windows 2000 下提示list.cs的第33行错误,把该行禁用后就正常了,那是一个update语句的执行部分,用于更新页面访问量统计,禁用后将不能统计页面访问量,请问是什么问题?
下面是同一个程序在不同的服务器上运行的结果
http://www.rfidsky.net/list.aspx?id=44
http://www.bdlgf.com/samuel/list.aspx?id=44
详细的错误信息如下:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------操作必须使用一个可更新的查询。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误: 
行 31:  reader.Close();
行 32:  myCommand2.CommandText = "UPDATE list SET click = "+i.ToString()+" WHERE id= "+newsid;
行 33:  myCommand2.ExecuteNonQuery();
行 34:  myCommand2.Connection.Close();
行 35:             myConnection.Close();
 源文件: D:\EfangVHost32\HomeDir\rfidsky\web\list.cs    行: 33 堆栈跟踪: 
[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() +66
   www.MyCodeBehind.Page_Load(Object sender, EventArgs e) in D:\EfangVHost32\HomeDir\rfidsky\web\list.cs:33
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +750 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2032; ASP.NET 版本:1.1.4322.2032