2017-10-04 11 views
0

私は学校プロジェクトを作成しています。私のアイデアの1つは、ログインフォームの後にメインフォームがユーザーが接続したラベルとRM(ユーザーコードは基本的に)に表示されますが、ログイン画面からユーザー名とRMを取得する方法はわかりませんRMをデータベースから削除します。ログインフォームの後のラベルにユーザー名とユーザーIDを表示

ログイン画面コード:

public partial class Login : Form 
{ 
    public Login() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection(@"Data Source=ROCHA-PC\SQLSERVER2014;Initial Catalog=Usuarios;Integrated Security=True"); 
     SqlDataAdapter sda = new SqlDataAdapter("Select Count(*) from users where usuario = '" + textBox1.Text + "' AND senha = '" + textBox2.Text + "'" , con); 
     DataTable dt = new DataTable(); 
     sda.Fill(dt); 

     if (dt.Rows[0][0].ToString() == "1") 
     { 
      this.Hide(); 
      frmTelaInicial nform = new frmTelaInicial(); 
      nform.Show(); 
     } 

     else 
     { 
      MessageBox.Show("Erro ao logar"); 
     } 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     Application.Exit(); 
    } 

がどのように接続されている現在のユーザーを取得し、ラベルにそれを表示することができますか?

+5

サイドノート:あなたのコードは[sql injection](https://en.wikipedia.org/wiki/)に脆弱です。 SQL_injection)攻撃を防ぎます。 「パラメータ化されたクエリ」の使い方を調べる必要があります。 – Blorgbeard

答えて

0

メインウィンドウのコンストラクタに移動します。たとえば

ステップ1のために必要なパラメータ) はここにあなたがしたいパラメータを渡すを追加

frmTelaInicial nform = new frmTelaInicial(LoggedUseName,RM); 

のコンストラクタでステップ2)

public frmTelaInicial(string LoggedUserName,string RM) 
      { 



//here you have the passed values 

       } 

以下のステップのように2つのパラメータを追加frmTelaInicial 3)

frmTelaInicialウィンドウに2つのラベルを追加し、渡された値で値を更新するLoggedUserName and RM

+0

最初は混乱しましたが、今は理解しています。ありがとうございました。 –

関連する問題