2015-03-09 2 views
-2
 try 
     { 
      if (!(ComboBoxut.Text == string.Empty)) 
      { 
       if (!(ComboBoxut.Text == string.Empty)) 
       { 
        String str = "server=RAVI;database=sampledb;Integrated Security=SSPI"; 
        String query = "select * from DentalLogin where usertype = '" + this.ComboBoxut.Text + "'and password = '" + this.TextBoxPwd.Text + "'"; 
        SqlConnection con = new SqlConnection(str); 
        SqlCommand cmd = new SqlCommand(query, con); 
        SqlDataReader dbr; 
        con.Open(); 
        dbr = cmd.ExecuteReader(); 
        while (dbr.Read()) 
        { 

         string ut = dbr.GetString(0); 
         if (ut == "Doctor") 
         { 

          this.Visible = false; 
          DoctorHome Dochome = new DoctorHome(); 
          Dochome.Show(); 

         } 
         else if (ut == "Staff") 
         { 

          this.Visible = false; 
          StaffHome staffhome = new StaffHome(); 
          staffhome.Show(); 

         } 
         else 
         { 
          MessageBox.Show(" username and password incorrect", "login page"); 
         } 
        } 
       } 

Не могли бы вы рассказать мне, что не так с этим кодом с помощью кнопки выпадающего списка.
У меня есть 2 пользовательских типа в моей форме: доктор другой сотрудников.Как с помощью 2-х пользовательских типов

Если пользователь выбрал врача, я хочу показать форму doctorhome.
Если пользователь выбрал персонал, я хочу показать форму staffhome.

У меня есть ошибочное имя пользователя и pwd.
Но в дБ все правильно username & pwd.
Пожалуйста, помогите мне решить эту проблему.

+4

_Can u, пожалуйста, скажите мне, что не так с этим кодом_ Вы говорите нам сначала. В чем проблема? Ваш вопрос непонятен _at all_. И вы получаете сообщение об исключении или ошибке? Вы всегда должны использовать [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. Также используйте инструкцию 'using' для размещения ваших соединений, команд и считывателей. –

+0

else statement {username and pwd wrong} –

+0

Пожалуйста, добавьте строку своей таблицы на вопрос, потому что я думаю, что ваша проблема в ваших сравнениях. –

ответ

0
Try This 
dbr = cmd.ExecuteReader(); 
while(dbr.read()) 
{ 
    string value = dbr["Column Index"].toString(); 
if(value == "Doctor"){ 
    this.Visible = false; 
    DoctorHome Dochome = new DoctorHome(); 
    Dochome.Show(); 
} 

} 
+0

его отображаемое значение 0 с полем сообщения –

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