【解決方法】C# を使用して、datagridview の SQL テーブルのデータを別の形式で表示するようにコーディングするにはどうすればよいですか?

プログラミングQA


私は2つの別々のフォームを持っています。 1 つは入力データ用で、もう 1 つは入力を表示するための datagridview です。 入力を datagridview に表示したいのですが、エラーが発生しました。 エラーは「EdificationMembersdataGridview は現在のコンテキストに存在しません」です。

助けてください

私が試したこと:

フォームとデータグラブが同じウィンドウフォームにあるものを試しました。 しかし、これはフォームとデータグリッドビューが別々のウィンドウにあります。
フォームはサブメニュー項目であり、datagridview もサブメニュー項目です。

SqlConnection con = new SqlConnection("Data Source=DESKTOP-JV7URL6;Initial Catalog=COCAhenkroApp;Integrated Security=True");
       private void btnSave_Click(object sender, EventArgs e)
       {

           con.Open();
           SqlCommand command = new SqlCommand("insert into EdificationMembers values('" + txtName.Text + "','" + cmbPosition.Text + "','" + txtContact.Text + "',getdate())", con);
           command.ExecuteNonQuery();
           MessageBox.Show("Successfully Saved");
           con.Close();
           BindData();
       }
       void BindData()
       {
           SqlCommand command = new SqlCommand("select * from EdificationMembers", con);
           SqlDataAdapter sda = new SqlDataAdapter(command);
           DataTable dt = new DataTable();
           sda.Fill(dt);
           EdificationMembersdataGridView.DataSource = dt;


       }

解決策 1

答えはあなたの説明にあります。 2 つのビュー/ウィンドウ間でデータを「共有」したい – つまり、2 つの別々の「インスタンス」。 両方のインスタンスが「共有」できる共通のクラス (サービス) を設定する必要があります。 あなたのニーズに合わせて、シングルトン/静的クラスがうまくいきます。

最後に、アプリで SQL 接続文字列をハード コーディングしないことをお勧めします。 外部に、通常は app.config ファイルに保存する必要があります。

解決策 2

C# では大文字と小文字が区別されるため、”EdificationMembersdataGridView” は “EdificationMembersDataGridView” と同じではありません。 「D」は大文字ではないことに注意してください。 そのため、実際のデータグリッド コントロール名が「EdificationMembersdataGridView」と大文字化のために 1 文字でも異なる場合、そのエラー メッセージが表示されます。

解決策 3

http://www.olympiafabricstructures.ca/__media__/js/netsoltrademark.php?d=grnled.com/led-flood-lights-manufacturer/smd-led-floodlight

コメント

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