2016-02-16 4 views
2

Это странные ребята ... У меня есть следующий метод, который выполняет простой оператор SQL в таблице с таблицей tbl_Users. Однако компилятор или фреймворк или что-то другое меняет SQL Command.строковая переменная с sql-запросом изменяется каркасом

internal bool ValidateUser(string username, string password) 
{ 
    try 
    { 
     string sqlQuery = "SELECT UserName FROM tbl_Users where [email protected] and [email protected]"; 

     SqlParameter[] parms = new SqlParameter[] { 
     new SqlParameter("@UserName",username), 
      new SqlParameter("@Password", password)}; 

     MembershipUserCollection users = FillUsers(sqlQuery, parms); 
     if (users != null && users.Count > 0) 
     return true; 
     return false; 
     } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

Как вы можете видеть SQL закодирована с параметром, теперь посмотрите на скриншот.

enter image description here

+1

изменение на что? – Shyju

+2

Вам действительно нужно солить и хэш ваши пароли. Они никогда не должны храниться в ясном тексте. –

+0

@Shyju посмотреть скриншот –

ответ

0

Определенно странно. Две вещи могут помочь:

  1. Как упоминалось выше, скобки имя таблицы в квадратных скобках - [tbl_Users]
  2. Используйте строковый литерал - @ "SELECT ......"

Кстати, я действительно выполнил ваш фрагмент кода, он не делал с тобой что-то происходящее, иди цифрой. Не знаю, что может быть основной причиной.

Смежные вопросы