Relation multiple table using in C#
-
Hi All ... in my form app. i have textboxs related databindings yonet_ogrt and I have 2 datagridview yonet_prg and yonet_nbt.. so I want to all together navigate but textboxs and datagridview related yonet_prg is working but datagridview related yonet_nbt not working... this is my trouble... My code like this... public void vt_iliski() { try { string sorgu_ogretmen = "select * from ogretmen"; string sorgu_program = "select * from program"; string sorgu_nobet = "select * from nobet"; ds_gnd = new DataSet(); DataTable tablo = new DataTable(); adpt_ogrt = new SqlCeDataAdapter(sorgu_ogretmen, baglan()); adpt_prg = new SqlCeDataAdapter(sorgu_program, baglan()); adpt_nbt = new SqlCeDataAdapter(sorgu_nobet, baglan()); adpt_ogrt.Fill(ds_gnd, "ogretmen"); adpt_prg.Fill(ds_gnd, "program"); adpt_nbt.Fill(ds_gnd, "nobet"); /* ********** relation -1 ****************** */ DataColumn ogrt_kolon = ds_gnd.Tables["ogretmen"].Columns["ogrt_ID"]; DataColumn prg_kolon = ds_gnd.Tables["program"].Columns["ogrt_ID"]; iliski1 = new DataRelation("Ogretmen_To_Program", ogrt_kolon, prg_kolon); ForeignKeyConstraint kisitla = new ForeignKeyConstraint(ogrt_kolon, prg_kolon); kisitla.UpdateRule = Rule.Cascade; kisitla.DeleteRule = Rule.Cascade; kisitla.AcceptRejectRule = AcceptRejectRule.Cascade; ds_gnd.Tables["program"].Constraints.Add(kisitla); ds_gnd.EnforceConstraints = true; ds_gnd.Relations.Add(iliski1); yonet_ogrt = new BindingSource(ds_gnd, ds_gnd.Tables["ogretmen"].ToString()); yonet_prg = new BindingSource(yonet_ogrt, "Ogretmen_To_Program"); /* ********** relation-2 ****************** */ DataColumn prg_kolon_nobet = ds_gnd.Tables["program"].Columns["prg_ID"]; DataColumn nobet_kolon = ds_gnd.Tables["nobet"].Columns["prg_ID"]; iliski2 = new DataRelation("Program_To_nobet",prg_kolon_nobet , nobet_kolon ); ForeignKeyConstraint kisitla2 = new ForeignKeyConstraint(prg_kolon_nobet, nobet_kolon); kisitla2.UpdateRule = Rule.Cascade; kisitla2.DeleteRule = Rule.C
-
Hi All ... in my form app. i have textboxs related databindings yonet_ogrt and I have 2 datagridview yonet_prg and yonet_nbt.. so I want to all together navigate but textboxs and datagridview related yonet_prg is working but datagridview related yonet_nbt not working... this is my trouble... My code like this... public void vt_iliski() { try { string sorgu_ogretmen = "select * from ogretmen"; string sorgu_program = "select * from program"; string sorgu_nobet = "select * from nobet"; ds_gnd = new DataSet(); DataTable tablo = new DataTable(); adpt_ogrt = new SqlCeDataAdapter(sorgu_ogretmen, baglan()); adpt_prg = new SqlCeDataAdapter(sorgu_program, baglan()); adpt_nbt = new SqlCeDataAdapter(sorgu_nobet, baglan()); adpt_ogrt.Fill(ds_gnd, "ogretmen"); adpt_prg.Fill(ds_gnd, "program"); adpt_nbt.Fill(ds_gnd, "nobet"); /* ********** relation -1 ****************** */ DataColumn ogrt_kolon = ds_gnd.Tables["ogretmen"].Columns["ogrt_ID"]; DataColumn prg_kolon = ds_gnd.Tables["program"].Columns["ogrt_ID"]; iliski1 = new DataRelation("Ogretmen_To_Program", ogrt_kolon, prg_kolon); ForeignKeyConstraint kisitla = new ForeignKeyConstraint(ogrt_kolon, prg_kolon); kisitla.UpdateRule = Rule.Cascade; kisitla.DeleteRule = Rule.Cascade; kisitla.AcceptRejectRule = AcceptRejectRule.Cascade; ds_gnd.Tables["program"].Constraints.Add(kisitla); ds_gnd.EnforceConstraints = true; ds_gnd.Relations.Add(iliski1); yonet_ogrt = new BindingSource(ds_gnd, ds_gnd.Tables["ogretmen"].ToString()); yonet_prg = new BindingSource(yonet_ogrt, "Ogretmen_To_Program"); /* ********** relation-2 ****************** */ DataColumn prg_kolon_nobet = ds_gnd.Tables["program"].Columns["prg_ID"]; DataColumn nobet_kolon = ds_gnd.Tables["nobet"].Columns["prg_ID"]; iliski2 = new DataRelation("Program_To_nobet",prg_kolon_nobet , nobet_kolon ); ForeignKeyConstraint kisitla2 = new ForeignKeyConstraint(prg_kolon_nobet, nobet_kolon); kisitla2.UpdateRule = Rule.Cascade; kisitla2.DeleteRule = Rule.C
I think the mistake lies in your DataAdapter.Fill() function. As far as I know only overload for Fill() that accepts 2 arguments is
Fill(DataTable, IDataReader)
Have a look at this page for further clarification: http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.fill.aspx[^] Otherwise the rest of the code looks fine.