эй, ребята, я хочу получить 3 таблицы в одном вызове ado.net из моей базы данных ms access, однако при попытке сделать это я получаю сообщение об ошибке
когда я изменяю свой sql-запрос на получение только 1 таблицы, мой код работает нормально
Может кто-нибудь дать мне знать, как добиться этого с помощью MS Access? потому что я делал это с сервером SQL с возрастов без каких-либо проблем. возможно, доступ не поддерживает несколько наборов результатов? я не много работал с доступом. пожалуйста помоги. ниже мой код для справки:
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DatabaseFile.mdb;Persist Security Info=True");
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Table1; SELECT * FROM Table2; SELECT * FROM Table3;", con);
DataSet ds = new DataSet();
da.Fill(ds);
ОБНОВЛЕНИЕ: ребята, это не представляется возможным. поэтому мне пришлось написать действительно глупый код, чтобы получить то, что я хотел, полную трату вычислительных ресурсов:
DataSet ds = new DataSet();
ds.Tables.Add(new DataTable("Table1"));
ds.Tables.Add(new DataTable("Table2"));
ds.Tables.Add(new DataTable("Table3"));
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DatabaseFile.mdb;Persist Security Info=True");
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Table1;", con);
da.Fill(ds, "Table1");
da.SelectCommand.CommandText = "SELECT * FROM Table2;";
da.Fill(ds, "Table2");
da.SelectCommand.CommandText = "SELECT * FROM Table3;";
da.Fill(ds, "Table3");