Я заполняющий набор данные из нескольких таблиц, используя соотношение по этому пути:DataSet связи с несколькими соединениями в запросе
private void UcitajZahtjeve()
{
string query1 = "SELECT tblrezgo.IDRadnik, CONCAT(tblradnik.Ime, ' ', tblradnik.Prezime) AS ImePrezime, tblrezgo.EmailRadnik, tblrezgo.creationTime, tblrezgo.IDUnos ";
query1 += "FROM tblrezgo ";
query1 += "LEFT JOIN tblradnik ON tblradnik.IDRadnik = tblrezgo.IDRadnik ";
query1 += "LEFT JOIN tblrezgolog ON tblrezgolog.IDUnos = tblrezgo.IDUnos ";
query1 += "WHERE (tblrezgolog.OdobrenoN=1 AND tblrezgolog.OdobrenoHR=1) ";
query1 += "ORDER BY tblrezgo.creationTime ASC";
string query2 = "SELECT IDUnos, DatumGO, OdobrenoN, OdobrenoHR FROM tblrezgolog";
gridZahtjevi.DataSource = dbTwoTableRelation(query1, query2, "Detalji", "IDUnos", "IDUnos").Tables[0];
gridZahtjevi.LevelTree.Nodes.Add("Detalji", gridDetails);
}
private DataSet dbTwoTableRelation(string query1, string query2, string relationName, string fieldName1, string fieldName2)
{
MySqlDataAdapter table1;
MySqlDataAdapter table2;
DataSet myDataSet = new DataSet();
table1 = new MySqlDataAdapter(query1, this.connection);
table2 = new MySqlDataAdapter(query2, this.connection);
table1.Fill(myDataSet, "mainList");
table2.Fill(myDataSet, "subList");
myDataSet.Relations.Add(relationName, myDataSet.Tables["mainList"].Columns[fieldName1], myDataSet.Tables["subList"].Columns[fieldName2]).Nested = true;
return myDataSet;
}
Запросов работают нормально, но если я запускаю этот код, я получаю сообщение об ошибке, даже приложение загружаются сетка пустой.
Первый шанс исключение типа «» System.ArgumentException произошло в System.Data.dll
Если удалить из Query1 один присоединиться пункт, то Everthing в порядке. Я не понимаю, что вызывает проблему, если два соединения проблемы?
Я уже делаю это. Запрос работает нормально. Я думаю, что проблема заключается в методе DataSet dbTwoTableRelation() в строке myDataSet.Relations.Add (отношениеName, myDataSet.Tables ["mainList"]. Столбцы [fieldName1], myDataSet.Tables ["subList"]. Столбцы [fieldName2]). Вложен = true; Но я не знаю, почему ... – Josef