Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.216.163] |
|
Сообщ.
#1
,
|
|
|
Хотел бы научиться связывать таблицы без использования мастеров. По нажатию клавиши в двух DataGridView нужно показать связанную информацию из двух таблицы базы данных Access, но код
private void btnFill_Click(object sender, EventArgs e) { OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\DBtest.mdb"); try { cn.Open(); } catch { MessageBox.Show("Ошибка соединения с базой данных DBtest.mdb", "Ошибка подключения к базе", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } DataSet ds = new DataSet(); DataTable dtMain = ds.Tables.Add(); ds.Tables[0].Columns.Add("FactorID", typeof(Int32)); ds.Tables[0].Columns[0].Unique = true; ds.Tables[0].Columns.Add("FactorName", typeof(String)); ds.Tables[0].Columns[1].Unique = true; ds.Tables[0].Columns.Add("FactorMemo", typeof(String)); DataTable dtChaild = ds.Tables.Add(); ds.Tables[1].Columns.Add("FactorValueID", typeof(Int32)); ds.Tables[1].Columns[0].Unique = true; ds.Tables[1].Columns.Add( "FactorID", typeof(Int32)); ds.Tables[1].Columns.Add("ValueID", typeof(Int32)); ForeignKeyConstraint FactorValueKey = new ForeignKeyConstraint(ds.Tables[0].Columns[0], ds.Tables[1].Columns[1]); ds.Tables[1].Constraints.Add(FactorValueKey); DataRelation FactorValueRel = new DataRelation("RelFactorValue", ds.Tables[0].Columns[0], ds.Tables[1].Columns[1]); ds.Relations.Add(FactorValueRel); OleDbCommand cmd = cn.CreateCommand(); cmd.CommandText = "SELECT *FROM tblFactor"; OleDbDataAdapter daFactor = new OleDbDataAdapter(); daFactor.SelectCommand = cmd; daFactor.Fill(ds.Tables[0]); dataGridView1.DataSource = ds.Tables[0]; OleDbCommand cmd2 = cn.CreateCommand(); cmd2.CommandText = "SELECT *FROM tblValueFactor"; OleDbDataAdapter daValueFactor = new OleDbDataAdapter(); daValueFactor.SelectCommand = cmd2; daValueFactor.Fill(ds.Tables[1]); dataGridView2.DataSource = ds.Tables[1]; } Прикреплённый файлDBtest.zip (25,01 Кбайт, скачиваний: 524) |