[ad_1]
私は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
[ad_2]
コメント