我的代码如下:Table是db.mdb的一个表public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid myDataGrid; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Data_Load();
}
private void Data_Load()
{
string DataPath=Server.MapPath("db\\db.mdb");
string mySQLstr = " SELECT UserID,UserPW FROM Table";
OleDbConnection myConnection = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+DataPath);
myConnection.Open();
OleDbCommand myCommand=new OleDbCommand(mySQLstr,myConnection);
myDataGrid.DataSource=myCommand.ExecuteReader();
myDataGrid.DataBind();
myConnection.Close();
}
Access数据库连接是成功的,但是显示错误如下:FROM 子句语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误。源错误:
行 33: myConnection.Open();
行 34: OleDbCommand myCommand=new OleDbCommand(mySQLstr,myConnection);
行 35: myDataGrid.DataSource=myCommand.ExecuteReader();
行 36: myDataGrid.DataBind();
行 37: myConnection.Close();
源文件: c:\inetpub\wwwroot\dbtest\webform1.aspx.cs 行: 35 请问35行错在哪?难道是SELECT UserID,UserPW FROM Table有错吗?
{
protected System.Web.UI.WebControls.DataGrid myDataGrid; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Data_Load();
}
private void Data_Load()
{
string DataPath=Server.MapPath("db\\db.mdb");
string mySQLstr = " SELECT UserID,UserPW FROM Table";
OleDbConnection myConnection = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+DataPath);
myConnection.Open();
OleDbCommand myCommand=new OleDbCommand(mySQLstr,myConnection);
myDataGrid.DataSource=myCommand.ExecuteReader();
myDataGrid.DataBind();
myConnection.Close();
}
Access数据库连接是成功的,但是显示错误如下:FROM 子句语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误。源错误:
行 33: myConnection.Open();
行 34: OleDbCommand myCommand=new OleDbCommand(mySQLstr,myConnection);
行 35: myDataGrid.DataSource=myCommand.ExecuteReader();
行 36: myDataGrid.DataBind();
行 37: myConnection.Close();
源文件: c:\inetpub\wwwroot\dbtest\webform1.aspx.cs 行: 35 请问35行错在哪?难道是SELECT UserID,UserPW FROM Table有错吗?
mdb文件的可操作属性是否设置,要将ASP.NET用户权限赋予你的db.mdb文件才可以进行操作
private void Data_Load()
{
string DataPath=Server.MapPath("db\\db.mdb");
string mySQLstr = " SELECT UserID,UserPW FROM UserTable";
OleDbConnection myConnection = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+DataPath);
OleDbDataAdapter myDataAdapter=new OleDbDataAdapter(mySQLstr,myConnection);
myConnection.Open();
DataSet myDS=new DataSet();
myDataAdapter.Fill(myDS,"UserTable");
myDataGrid.DataSource=myDS;
myDataGrid.DataBind();
myConnection.Close();
}又提示错误:
至少一个参数没有被指定值。
行 34: myConnection.Open();
行 35: DataSet myDS=new DataSet();
行 36: myDataAdapter.Fill(myDS,"UserTable");
行 37: myDataGrid.DataSource=myDS;
行 38: myDataGrid.DataBind();
源文件: c:\inetpub\wwwroot\dbtest\webform1.aspx.cs 行: 36 这又是怎么回事?
还有,顺便告诉你一下
用DataAdapter时 ,会为你自动打开Connection 不用再手动打开
什么意思,如果是显示“SELECT UserID,UserPW FROM UserTable”怎样?要不是又怎样?
同意
什么意思,如果是显示“SELECT UserID,UserPW FROM UserTable”怎样?要不是又怎样?
---------------------------
意思就是:打印出来,拿到ACCESS数据库中去运行一下,看会不会出问题.
你看看,在数据库中,UserID,UserPW 这两个字段是否有错?
还有DataGrid的绑定列的字段名称UserID,UserPW 有否写错
代码应该是没问题的
试试:)
至少一个参数没有被指定值。
行 34: myConnection.Open();
行 35: DataSet myDS=new DataSet();
行 36: myDataAdapter.Fill(myDS,"UserTable");
行 37: myDataGrid.DataSource=myDS;
行 38: myDataGrid.DataBind();你的语句里面的UserID,UserPW和库里面的字段名字不对!!!