У меня есть следующий фрагмент кода VB.NET:DataRelation из одного запроса
Dim conn As New MySql.Data.MySqlClient.MySqlConnection(ConnectionString)
conn.Open()
Dim sql = "SELECT * FROM users"
Dim com = New MySql.Data.MySqlClient.MySqlCommand(sql, conn)
Dim ds As New DataSet("dsUsers")
Dim da As New MySql.Data.MySqlClient.MySqlDataAdapter()
da.SelectCommand = com
da.TableMappings.Add("Table", "Users")
da.Fill(ds)
sql = "SELECT * FROM messages"
com = New MySql.Data.MySqlClient.MySqlCommand(sql, conn)
Dim da2 As New MySql.Data.MySqlClient.MySqlDataAdapter()
da2.SelectCommand = com
da2.TableMappings.Add("Table", "Messages")
da2.Fill(ds)
Dim dr As DataRelation
Dim col1 As DataColumn
Dim col2 As DataColumn
col1 = ds.Tables("Users").Columns("id")
col2 = ds.Tables("Messages").Columns("users_id")
dr = New DataRelation("UsersMessages", col1, col2)
ds.Relations.Add(dr)
В принципе, я выполнить два запроса: первый получает все пользователи, вторые все сообщения. Я определяю две таблицы в DataSet и свяжу их через DataRelation, чтобы таблица Users была родителем таблицы Messages.
Это работает, если я хочу выбрать все строки из двух таблиц, но что, если у меня есть более сложная структура с 4 вложенными таблицами и условными запросами?
SELECT t1.*, t2*, t3.*, t4.*
FROM table1 t1, table2 t2, table3 t3, table4 t4
WHERE t1.id = 3
AND t2.t1_id = t1.id
AND t3.t2_id = t2.id
AND t4.t3_id = t3.id
Как я могу создать DataSet с четырьмя столами и тремя DataRelations из этого одного запроса?
Благодаря