2013-04-23 4 views
0

Я только начинаю изучать C#, и это мой самый первый запрос о помощи.Передача результата запроса sql к переменным

Я написал сценарий входа в систему, который имеет обычные поля «имя пользователя» и «пароль» плюс кнопка отправки.

Сценарий запрашивает таблицу данных MySQL, и если совпадение имени пользователя и пароля закрывает окно входа в систему и открывает подробное окно.

То, что я пытаюсь сделать, это использовать два поля из запроса и передать содержимое в окно подробных сведений для отображения. Это код до сих пор:

MySqlCommand SelectCommand = new MySqlCommand(
"SELECT clientID, login, pass, name_f, 
name_l FROM FIDS_members WHERE login = '" + 
this.username_txt.Text + "' AND pass = '" + 
this.pass_txt.Text + "';", myConn); 

      MySqlDataReader myReader; 
      myConn.Open(); 

      myReader = SelectCommand.ExecuteReader(); 

      int count = 0; 


      while (myReader.Read()) 
      { 

       count = count + 1; 
      } 

      if (count == 1) 
      { 

       string name_f = myReader.GetString("name_f").ToString(); 
       name_f_txt = name_f; 

       this.Hide(); 
       Welcome f2 = new Welcome(name_f.Text); 
       f2.ShowDialog(); 
      } 
      else 

       MessageBox.Show("The username or password are incorrect, please try again..."); 


      // Clear login feilds 
      username_txt.Text = String.Empty; 
      pass_txt.Text = String.Empty; 

Ошибка я получаю:.

«строка не содержит определение для„Текст“

Я знаю, что я не могу делать это правильно, но если кто-то может пожалуйста обеспечить некоторые указатели, было бы очень полезно.

+0

Вы должны proably использовать 'новый Welcome (name_f)' и не name_f .Text, так как name_f является строкой, а не TextBox. Если это не помогает, укажите также номер строки, на которой происходит ошибка. – DeCaf

+0

Также начинайте искать 'MySqlParameter' http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparameter.html – banging

+0

Вы также можете захотеть переустановить соглашения об именах. name_f vs name_f_txt vs pass_txt и т. д. и т. д. – aquaraga

ответ

1

ошибка, вероятно, потому что эта линия

Welcome f2 = new Welcome(name_f.Text); 

Изменить его

Welcome f2 = new Welcome(name_f); 

name_f является строкой в ​​соответствии кода и, кажется, вы используете его как TextBox

+0

Привет, «name_f» не задан как TextBox, я просто хотел, чтобы он удерживал результат запроса feild. Если я сделаю изменение и удалю «.Text», я получаю следующую ошибку: – DCJones

+0

Имя «name_f_txt» не существует в текущем контексте – DCJones

+0

@DCJones: это означает, что 'name_f_txt' не определен, вы уверены, что это имя ? Если 'name_f_txt' является TextBox, вам нужно будет сделать' name_f_txt.Text = name_f; ', но сначала вам нужно решить проблему« не определена » –

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