<%@ 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
<%@ 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
我把表改为了AAA可以了,但出现了另外的错误“/WebSite”应用程序中的服务器错误。
--------------------------------------------------------------------------------对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。 请问为什么会这样的呢?
objAdapter.DeleteCommand = objCmdBulider.GetDeleteCommand
就可以了,
但是,如果我增加了一些修改行和删除行的语句后,
加上
objAdapter.UpdateCommand = objCmdBulider.GetUpdateCommand();
objAdapter.DeleteCommand = objCmdBulider.GetDeleteCommand();还是出现问题