FROM close中的语法错误?

时间:2016-06-10 04:55:05

标签: c# sql ms-access syntax

现在尝试解决这个问题一段时间了,我已经回过头来自己登录页面而不使用登录工具了,但我更喜欢使用Login,因为我以前使用过它。 无论如何我在尝试登录时遇到错误

  

FROM子句中的语法错误

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

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

来源错误:

应该是sqlDA.fill(ds.userinfo);

这是我班级的代码

public class clsDataLayer
{

   public static dsUser VerifyUser(string Database, string UserName, string UserPassword)
   {
     dsUser DS;
     OleDbConnection sqlConn;
     OleDbDataAdapter sqlDA;
     // Connects to the DB
    sqlConn=new OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;" +"Data Source=" + 
        Database);
       sqlDA=new OleDbDataAdapter("Select AccessLevel from UserInfo"+
           "Where UserName like " + UserName+"' "+
           "and UserPassword like '"+UserPassword+"'",sqlConn);
       DS= new dsUser();
   sqlDA.Fill(DS.UserInfo);
       return DS;

  }

5 个答案:

答案 0 :(得分:1)

试试这个

sqlDA=new OleDbDataAdapter("Select AccessLevel from UserInfo"+
           " Where UserName like '" + UserName+"' "+
           " and UserPassword like '"+UserPassword+"'",sqlConn);

答案 1 :(得分:0)

我认为您忘记在变量用户名之前添加单引号('),请尝试以下 -

sqlDA=new OleDbDataAdapter("Select AccessLevel from UserInfo"+
           " Where UserName like '" + UserName+"' "+
           " and UserPassword like '"+UserPassword+"'",sqlConn);

答案 2 :(得分:0)

TableName userinfoWhere之间留出空格,并在其他keywords之间提供空格

sqlDA=new OleDbDataAdapter("Select AccessLevel from UserInfo"+
       " Where UserName like '" + UserName+"' "+
       " and UserPassword like '"+UserPassword+"'",sqlConn);

答案 3 :(得分:0)

代码的第二行缺少单引号。

答案 4 :(得分:-1)

确保FROMWHERE条款中的所有撇号和空格排列正确。

var sqlDA = new OleDbDataAdapter("Select AccessLevel from UserInfo" +
           " Where UserName like '" + UserName + "'"+
           " and UserPassword like '" + UserPassword + "'", sqlConn);

如果您不确定此声明,可以检查MS Access Query Builder。

如果需要,请在%子句中添加LIKE以扩大搜索条件。