私は2つのフォームを持っています。メインフォームと子フォーム。メイン フォームでは datagridview を表示し、子フォームではメイン フォームの datagridview にデータを挿入するフォームです。そのため、子フォームからデータを挿入した後、メイン フォームの datagridview を更新します。そのため、新しいデータが datagridview に表示されます。このコードを試しましたが、datagridview が更新されません。新しい datagridview を表示するには、アプリケーションを閉じてから再度開く必要があります...
public void button1_Click(object sender, EventArgs e)
{
string cstr = "server=localhost;User Id=root;database=sma9";
con1 = new MySqlConnection(cstr);
con1.Open();
com1 = new MySqlCommand();
com1.Connection = con1;
com1.CommandType = CommandType.Text;
com1.CommandText = "INSERT INTO tbukux (kodebuku,judulbuku,namakategori,pengarang,penerbit,tahunterbit,stokbuku) VALUES ('" + txtkode.Text + "','" + txtjudul.Text + "','" + txtkategori.Text + "','" + txtpengarang.Text + "','" + txtpenerbit.Text + "','" + txttahun.Text + "','" + txtstok.Text + "')";
com1.ExecuteNonQuery();
con1.Close();
Form1 form1 = new Form1();
form1.gridbuku.RefreshEdit();
}
私もこれを試しましたが、うまくいきません
public void button1_Click(object sender, EventArgs e)
{
Form1 form1 = new Form1();
string cstr = "server=localhost;User Id=root;database=sma9";
con1 = new MySqlConnection(cstr);
con1.Open();
com1 = new MySqlCommand();
com1.Connection = con1;
com1.CommandType = CommandType.Text;
com1.CommandText = "INSERT INTO tbukux (kodebuku,judulbuku,namakategori,pengarang,penerbit,tahunterbit,stokbuku) VALUES ('" + txtkode.Text + "','" + txtjudul.Text + "','" + txtkategori.Text + "','" + txtpengarang.Text + "','" + txtpenerbit.Text + "','" + txttahun.Text + "','" + txtstok.Text + "')";
com1.ExecuteNonQuery();
com2 = new MySqlCommand();
com2.Connection = con1;
com2.CommandType = CommandType.Text;
com2.CommandText = "select * from tbukux";
ds1 = new DataSet();
adp1 = new MySqlDataAdapter(com2);
adp1.Fill(ds1, "tbukux");
form1.gridbuku.DataSource = ds1;
form1.gridbuku.DataMember = "tbukux";
con1.Close();
form1.gridbuku.Refresh();
}