【解決方法】あるプロジェクトから別のプロジェクトに整数変数を渡す C#


この質問を読むかもしれない私のような初心者のために使用した出生証明書の例えを許してください.
VB.Net プロジェクト DBCall とクラス ライブラリ プロジェクト DBControl の 2 つのプロジェクトがあります。
DB テーブルを作成するとき、主キーは整数です。
この整数は、DataGridView に文字列として配置され、整数に変換されます
セルを選択したとき。

ID = Convert.ToInt32(dgvPerson.Rows[e.RowIndex].Cells[0].Value.ToString());

変換を行う同じフォームで、 this 変数を宣言します。
public static int ID;

ここで、ID を使用する別のフォーム frmADE に移動します。
このフォームは、ID が生まれた出生証明書を表示する必要があります。
したがって、このコード行を使用する必要があります ID = frmSelect.ID;

このコード行は frmADE にあります public static int ID { get; 設定; }

ここで、クラス ライブラリ プロジェクトの frmHDB という名前のフォームに移動します。

Hide();
 var form = new DBControl.frmHDB();
 {
     form.readData();
     ID = frmSelect.ID;
     textBox1.Text = "ID here " + ID + "";
 }

 Show();

この新しい State は、ID が生まれた場所である frmSelect について知りたくない、または知りたくありません。 私も同じです frmHDB の public static int ID {get;set;}

ここに readData() 関数と frmSelect を認識させるためのコード行があります プライベート オブジェクト frmSelect;

public void readData()
{
    using (SQLiteConnection conn = new SQLiteConnection($"Data Source = '{dbName}';Version=3;"))
    {
        conn.Open();
        using (SQLiteCommand cmd = new SQLiteCommand($"SELECT * FROM FriendsData WHERE FID=" + frmSelect.ID, conn))
        {
            using (var rdr = cmd.ExecuteReader())
            {
                while (rdr.Read())
                {
                    fn = rdr["fxFirstName"].ToString().Trim();
                    ln = rdr["fxLastName"].ToString().Trim();
                    rt = rdr["fxInfo"].ToString().Trim();
                }
            }
        }
    }
    Close();
}

私はfrmSelectを使用せず、ID no Luckだけを使用しようとしました
私は数値を使用しており、コードは機能し、frmADE にデータを入力します。
IDを転送するシングルトン関数を書いてみましたが、これはあまり得意ではありません。
クラス ライブラリ フォームがそれを受け入れるように、frmSelect の新しいインスタンスを作成しようとしました。
クラス ライブラリで別のプロジェクトのフォームを使用する方法を知りたいですか?
あるプロジェクトからクラス ライブラリに int を転送する方法を知りたいですか?

このリンクと私の解決策のとりとめのないことは、いくつかの洞察を提供するかもしれません
これらの結合されたプロジェクトに SQLite がどのようにインストールされたかについて。
C# は別のフォームで CRUD 関数を呼び出します[^]

私が試したこと:

私はfrmSelectを使用せず、ID no Luckだけを使用しようとしました
私は数値を使用しており、コードは機能し、frmADE にデータを入力します。
IDを転送するシングルトン関数を書いてみましたが、これはあまり得意ではありません。
クラス ライブラリ フォームがそれを受け入れるように、frmSelect の新しいインスタンスを作成しようとしました。

コメント

タイトルとURLをコピーしました