2016-10-02 4 views
0

Я создаю настольное приложение, в котором сценарий есть. Пользователь будет входить в систему, а в другой форме его идентификатор будет отображаться в текстовом поле.C#: System.InvalidOperationException Error

Но после вошедшего в I пользователь увидел ошибку вроде этого:

enter image description here

Вот моя первая форма (Form1.cs)

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Data.SqlClient; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 


namespace EmployeeApp 
{ 
    public partial class login : Form 
    { 
     public login() 
     { 
      InitializeComponent(); 
     } 

     private string employeeID; 
     private void exitButton_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 
     private void loginButton_Click(object sender, EventArgs e) 
     { 
      SqlConnection connection = new SqlConnection(@"Data Source=INCEPSYS-SE\TEST;Initial Catalog=Employee;Integrated Security=True"); 

      SqlCommand command = new SqlCommand("select * from Employees where Name = '" + nameTextBox.Text + " ' and Password = '" + passwordTextBox.Text + "'", connection); 
      SqlDataReader myReader = command.ExecuteReader(); 
      while (myReader.Read()) 
      { 
       string employeeID = myReader["EmployeeID"].ToString(); 
      } 


      SqlDataAdapter sda = new SqlDataAdapter("select count(*) from Employees where Name = '" + nameTextBox.Text + " ' and Password = '" + passwordTextBox.Text + "'", connection); 

      DataTable dt = new DataTable(); 
      sda.Fill(dt); 
      if (dt.Rows[0][0].ToString() == "1") 
      { 
       this.Hide(); 
       Entry ss = new Entry(employeeID); 
       ss.Show(); 
      } 
      else 
      { 
       MessageBox.Show("Please Check your Username & password"); 
      } 
     } 

    } 
} 

И вот моя вторая форма (запись .cs), где я хочу напечатать идентификатор пользователя:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace EmployeeApp 
{ 
    public partial class Entry : Form 
    {  public Entry(string employeeId) 
     { 
      InitializeComponent(); 
       idTextBox.Text = employeeId; 
     } 


     private void reportButton_Click(object sender, EventArgs e) 
     { 
      Report report = new Report(); 
      report.Show(); 
     } 
    } 
} 

Если вы узнаете, t он проблема .. помогите мне узнать это, пожалуйста!

+0

Вы подключаетесь к экземпляру SQL-сервера? Похоже, он отклоняет ваш запрос на подключение. Возможно, вы захотите проверить его настройки, например: включить аутентификацию удаленного доступа или без проверки подлинности и использовать имя пользователя и пароль в этой строке подключения. –

ответ

1

Сначала необходимо создать экземпляр соединения sql, чтобы сделать запрос к серверу sql.

Изменить код:

SqlConnection connection = new SqlConnection(@"Data Source=INCEPSYS-SE\TEST;Initial Catalog=Employee;Integrated Security=True"); 

connection.Open(); 

SqlCommand command = new SqlCommand("select * from Employees where Name = '" + nameTextBox.Text + " ' and Password = '" + passwordTextBox.Text + "'", connection); 

//...