Моя база данных Access не возвращает ни одной строки с набором данных xsd - PullRequest
0 голосов
/ 24 марта 2011

Я должен импортировать базу данных Access. Когда я скопировал / вставил файл mdb в приложение, он создал соответствующий набор данных XSD, поэтому я согласился (я подумал, что это будет гораздо проще, чем запросить его с использованием ODBC).
Я пытаюсь сделать запрос к базе данных, используя следующие строки:

        var dsAccess = new data.DATAGESTIONDataSet();
        var RaisonSociales = from rs in dsAccess.Tb_Raison_Soc
                             select rs;
        foreach (var rs in RaisonSociales)
        {
            Console.WriteLine(rs.Raison_Soc);
        }

К сожалению, оператор select не возвращает ни одной строки.

Класс Linq to SQL и ADO.Net Entity Framework не поддерживают MS Access: (

Есть идеи?
Спасибо

РЕДАКТИРОВАТЬ : вот решение, благодаря @Daniel Hilgart:

        var cn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ImportSerce.Properties.Settings.DATAGESTIONConnectionString"].ToString());
        var cmd = new OleDbCommand("SELECT * FROM [Tb_Raison_Soc]", cn);
        var da = new OleDbDataAdapter(cmd);
        var tds = new data.DATAGESTIONDataSet();
        da.Fill(tds, tds.Tb_Raison_Soc.TableName);
        var rsMS = from rs in tds.Tb_Raison_Soc
                   select rs;
        foreach (var rs in rsMS)
        {
            Console.WriteLine(rs.Raison_Soc);
        }

Не совсем так красиво и немного громоздко работать, но, по крайней мере, это работает. Спасибо!

1 Ответ

3 голосов
/ 24 марта 2011

Вам необходимо заполнить DataSet, вызвав Fill в сгенерированном адаптере данных, указав DataSet и имя таблицы.Более подробную информацию можно найти здесь: http://support.microsoft.com/kb/320714

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...