日期:2014-05-17  浏览次数:20481 次

数据库连接出错
代码:string str = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("test.mdb") + ""; //使用相对路径
        OleDbConnection conn = new OleDbConnection(str); //OleDb链接类的实例化 
        conn.Open();
        string sql = "SELECT * FROM  user";
        OleDbCommand cmd = new OleDbCommand(sql, conn);//创建Command命令对象 
        OleDbDataReader dr = cmd.ExecuteReader();//创建DataReader对象,并调用ExecuteReader从数据源检索行 
        while (dr.Read())
        {
            Response.Write(dr["name"] + "<br/>");
        }
        dr.Close();
        conn.Close();

报错:
FROM 子句语法错误。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误。

这个是什么原因啊,我的代码明显没问题的啊
数据库 SQL

------解决方案--------------------
SELECT * FROM [user]
------解决方案--------------------
顶楼上。USER应该是关键字吧。要用中括号框起来。
刚学的时候也出过错。后来强迫自己习惯性表名都用方括号了。
------解决方案--------------------
USER在ACCESS中是保留字。