2017-02-24 2 views
0

最近、私はWPFを多用していますが、ikの構文が少し変わってしまいますが、問題のいくつかはおそらく新しいものです。WPF NULLフォームからクラスへの値

mainformの変数に接続情報を保存しようとしていますが、クラス内から値を取得しようとしていますが、NULLになっていて、なぜnullになっているのか分かりません(私はそれらをクラスで静的にする)。

public static MainMenu x = new MainMenu(); 
public string cn = "Data Source=" + x.sqlip + "; Initial Catalog=" + db + "; User ID=" + x.sqlid + "; Password=" + x.sqlpw + ";"; 

これは私のフォーム呼び出し+接続文字列ビルダーですが、値を取得しようとするとnullです。

public string sqlid, sqlpw, sqlip; 
//update details 
open.sqlid = sqlusr.Text; 
open.sqlpw = sqlpwd.Text; 
open.sqlip = sqlip.Text; 

トップには2つの例があります。変数の宣言はメインメニュー形式であり、更新の詳細は接続時に読み込み形式になります。

+0

open.sqlidで開いているものは何ですか? –

+0

私はxとsqlidで行ったように、open = my MainMenuフォーム(私は名前としてopenを使用しました)、sqlpwとsqlipはクラス内で使用する値を保存する変数ですが、動作しません。 – asgasg

+0

'sqlid'、 sqlpw'と 'sqlip'はすべてnullですか?あなたは決してそれらを何にも設定していないからです。 'open.sqlid'は' sqlid'と同じではありません。 –

答えて

0

例を作成しました。あなたの役割を理解してこの希望を試してくださいstatic

class Program 
    { 
     public static class MainMenu 
     { 
      public static string sqlid = null; 
      public static string sqlpw = null; 
     } 

//Now a function will update values of variables 

     public void updateDetails() 
     { 
      MainMenu.sqlid = sqlusr.Text; 
      MainMenu.sqlpw = sqlpwd.Text; 
     } 

//Now if i need to use variable values 

     static void Main(string[] args) 
     { 
      Program p = new Program(); 
      p.updateDetails(); 

      public string cn = "Initial Catalog=" + db + "; User ID=" + MainMenu.sqlid + "; Password=" + MainMenu.sqlpw + ";"; 

     } 
} 
関連する問題