Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Получение записи из связанной таблицы Добавлено: 21.01.04 18:02  

Автор вопроса:  beast81 | ICQ: 192324197 

У меня вопрос: Есть две таблицы Firma и Programma в DataSet

Они связаны ключом cprog.

Когда я выбираю фирму как мне получить название программы которая записана на эту фирму?

 

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 ol2003



Вопросов: 3
Ответов: 122
 Профиль | | #1 Добавлено: 22.01.04 07:11

Select f.* from Firma f join Programma p

on f.cprog=p.cprog

Ответить

Номер ответа: 2
Автор ответа:
 beast81



ICQ: 192324197 

Вопросов: 11
Ответов: 13
 Профиль | | #2 Добавлено: 22.01.04 10:07

Но это ведь идет объединение таблиц.

У меня следующий код.

Private Sub FrmProg_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim ds As DataSet

Dim dr as DataRelation

ds = New DataSet()

SqlConn.ConnectionString = "data source=ARC-DC; initial catalog=Baza; integrated security=SSPI;persist security info=False;workstation id=Login;packet size=4096"

'

SqlDA.SelectCommand.CommandText = "select * from progr"

SqlDA.Fill(ds, "progr")

SqlDA3.SelectCommand.CommandText = "select * from firm"

SqlDA3.Fill(ds, "firm")

dr = ds.Relations.Add("Программа", ds.Tables("firm").Columns("nfirm"), ds.Tables("progr").Columns("nfirm"))

Dim dv As DataView

dv = New DataView(ds.Tables("progr"))

DataGrid1.DataSource = ds

DataGrid1.DataMember = "firm"

With ComboBox1

.DataSource = dv

.DisplayMember = "progr"

.ValueMember = "cprogr"

End With

ComboBox1.SelectedValue = 0

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

TextBox1.Text = Convert.ToString(ComboBox1.SelectedValue)

End Sub

Я хочу получить дочернею запись.

Выбираю в ComboBox любую запись и по ней мне нужно вытащить дочернею.

 

Но не с помощью запроса SQL, а с помощью Relation.

Вот такая проблема.

Ответить

Номер ответа: 3
Автор ответа:
 beast81



ICQ: 192324197 

Вопросов: 11
Ответов: 13
 Профиль | | #3 Добавлено: 22.01.04 10:09

Но это ведь идет объединение таблиц.

У меня следующий код.

Private Sub FrmProg_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim ds As DataSet

Dim dr as DataRelation

ds = New DataSet()

SqlConn.ConnectionString = "data source=ARC-DC; initial catalog=Baza; integrated security=SSPI;persist security info=False;workstation id=Login;packet size=4096"

'

SqlDA.SelectCommand.CommandText = "select * from progr"

SqlDA.Fill(ds, "progr")

SqlDA3.SelectCommand.CommandText = "select * from firm"

SqlDA3.Fill(ds, "firm")

dr = ds.Relations.Add("Программа", ds.Tables("firm").Columns("nfirm"), ds.Tables("progr").Columns("nfirm"))

Dim dv As DataView

dv = New DataView(ds.Tables("progr"))

DataGrid1.DataSource = ds

DataGrid1.DataMember = "firm"

With ComboBox1

.DataSource = dv

.DisplayMember = "progr"

.ValueMember = "cprogr"

End With

ComboBox1.SelectedValue = 0

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

TextBox1.Text = Convert.ToString(ComboBox1.SelectedValue)

End Sub

Я хочу получить дочернею запись.

Выбираю в ComboBox любую запись и по ней мне нужно вытащить дочернею.

 

Но не с помощью запроса SQL, а с помощью Relation.

Вот такая проблема.

Ответить

Номер ответа: 4
Автор ответа:
 Павло



Вопросов: 8
Ответов: 24
 Профиль | | #4 Добавлено: 22.01.04 11:15

У тебя в TextBoxe при этом должно выводиться ....DataRowView?

Ответить

Номер ответа: 5
Автор ответа:
 Павло



Вопросов: 8
Ответов: 24
 Профиль | | #5 Добавлено: 22.01.04 11:33
Через DataRowView можно обратиться к любому столбцу данного представления по индексу или по имени.

Ответить

Номер ответа: 6
Автор ответа:
 beast81



ICQ: 192324197 

Вопросов: 11
Ответов: 13
 Профиль | | #6 Добавлено: 22.01.04 14:24

Всем, спасибо, но я нашел способ как это сделать без DataRowView.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам