【问题标题】:Syntax error in FROM close?FROM 关闭中的语法错误?
【发布时间】:2016-06-10 04:55:05
【问题描述】:

现在尝试在此工作一段时间,我已经回去并坚持在不使用登录工具的情况下拥有自己的登录页面,但我更喜欢使用登录,因为我以前使用过它. 无论如何我在尝试登录时遇到错误

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;

  }

【问题讨论】:

    标签: c# sql ms-access syntax


    【解决方案1】:

    试试这个

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

    【讨论】:

    • 您好!感谢你能这么快回复!但是该代码与我提供的代码有什么区别?我确实复制并粘贴了您发布的内容,但没有运气:(
    • @AlexLozano 只是一个错误,比如表名和 where 子句没有添加空格,所以我只在 where 子句中添加了一个空格。
    • 谢谢!有用!现在只是想弄清楚登录的验证。
    【解决方案2】:

    我想你忘了把单引号(')放在变量用户名之前,试试下面-

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

    【讨论】:

    • 嗨,Alex,您要寻找的区别是引号 (') 和连接 sql 字符串时的空格。
    【解决方案3】:

    TableName userinfoWhere 之间留出空格,同时在其他keywords 之间留出空格

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

        如果您不确定此语句,可以查看 MS Access Query Builder。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多