<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %><script runat="server">     protected void Page_Load(object sender, EventArgs e)
    {
        //mdb文件 
        string strcon = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=f:\db1.mdb";
        //
        OleDbConnection olecon = new OleDbConnection(strcon); 
        //创建DataTable 
        DataTable objtable;
        //创建DataSet
        DataSet objDataSet = new DataSet();
        //DataRow 
        DataRow objDataRow;
        //DataColumn
        //DataColumn objDateColumn;
        //SQL
        string strcmd = "SELECT user,pwd FROM User;";
        //DataAdapter
        OleDbDataAdapter objAdapter = new OleDbDataAdapter(strcmd, olecon);
        //fill with DataSet
        objAdapter.Fill(objDataSet, "User");
        
        
        
         
        
        Random ran = new Random();
         
        objtable = objDataSet.Tables["User"];        for (int i = 0; i < 10; i++)
        {
            objDataRow = objtable.NewRow();
            objDataRow["user"] = i.ToString();
            objDataRow["pwd"] = Convert.ToString(ran.Next(100) + 1);
            objtable.Rows.Add(objDataRow);
            
        }
        dg1.DataSource = objtable.DefaultView;
        dg1.DataBind();
        
      
     
         
       
        OleDbCommandBuilder objCmdBulider = new OleDbCommandBuilder(objAdapter);
       
        objAdapter.InsertCommand = objCmdBulider.GetInsertCommand();
         
        objAdapter.UpdateCommand = objCmdBulider.GetUpdateCommand();
         
        objAdapter.DeleteCommand = objCmdBulider.GetDeleteCommand();
   
                 objAdapter.Update(objDataSet, "User");
       
        olecon.Close();
                 
        
    }
 
</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Default</title>
</head>
<body>
    <form id="form1" runat="server">
    <br />
    
    <br />
    <asp:DataGrid id="dg1"  runat="server" ></asp:DataGrid>
    </form>
</body>
</html> “/WebSite”应用程序中的服务器错误。
--------------------------------------------------------------------------------FROM 子句语法错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误。源错误: 只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL: 1. 在产生错误的文件的顶部添加一条“Debug=true”指令。例如:   <%@ Page Language="C#" Debug="true" %>或:2. 将以下的节添加到应用程序的配置文件中:<configuration>
   <system.web>
       <compilation debug="true"/>
   </system.web>
</configuration>请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译。重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销。在部署到生产方案之前,应确保应用程序调试已禁用。  堆栈跟踪: 
[OleDbException (0x80040e14): FROM 子句语法错误。]
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267
   System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106
   System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +111
   System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +4
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
   ASP.default_aspx.Page_Load(Object sender, EventArgs e) +115
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
   System.Web.UI.Control.OnLoad(EventArgs e) +98
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint

解决方案 »

  1.   

    SELECT user,pwd FROM User;需要分号吗
      

  2.   

    别给黄白屏的错误提示,看不来,给个debug的错误提示
      

  3.   


    我把表改为了AAA可以了,但出现了另外的错误“/WebSite”应用程序中的服务器错误。
    --------------------------------------------------------------------------------对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。 请问为什么会这样的呢?
      

  4.   

    把SQL语句在ACCESS里执行一下即可知道错误
      

  5.   

    我把 objAdapter.UpdateCommand = objCmdBulider.GetUpdateCommand();
             
            objAdapter.DeleteCommand = objCmdBulider.GetDeleteCommand
    就可以了,
    但是,如果我增加了一些修改行和删除行的语句后,
    加上
    objAdapter.UpdateCommand = objCmdBulider.GetUpdateCommand();
             
            objAdapter.DeleteCommand = objCmdBulider.GetDeleteCommand();还是出现问题