Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как прочитать отпределенную строку 
:(
    Опции темы
vasmt
Дата 5.8.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 8.10.2007

Репутация: нет
Всего: 1



Нужно из dbf-файла прочитать определенную строку, зная номер строки.
Единственно, что приходит на ум:
Код

using (OleDbConnection dbfConnection = new OleDbConnection(connectionString))
{
   dbfConnection.Open();
   string cmdString = "SELECT * FROM " + tableName;
   OleDbCommand dbfCommand = new OleDbCommand(cmdString, dbfConnection);   
   OleDbDataReader dbfReader = dbfCommand.ExecuteReader();

   for (int i = 0; i < needLine; i++)
   {
       dbfReader.Read();
       //чтение данных
   }
}

Есть ли какое-нибудь более элегантное и быстрое решение?

Это сообщение отредактировал(а) vasmt - 5.8.2008, 11:35
PM MAIL   Вверх
akizelokro
Дата 5.8.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Есть.
По dbf формату определяешь смещение данных от начала файла и ширину строки. Дальше элементарно.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
Idsa
Дата 5.8.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(akizelokro @  5.8.2008,  15:56 Найти цитируемый пост)
По dbf формату определяешь смещение данных от начала файла и ширину строки.

Это шутка?

Цитата(vasmt @  5.8.2008,  15:34 Найти цитируемый пост)
Нужно из dbf-файла прочитать определенную строку, зная номер строки.

Нужно прочитать определенную строку из таблицы? Тогда ознакомьтесь, например, с этой темой: http://forum.vingrad.ru/forum/topic-219807.html
Кроме того, стоит иметь в виду, что, если не указана сортировка, то формулировка "n-я строка" не имеет смысл - можно считывать любую.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
akizelokro
Дата 5.8.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Почему это шутка? smile 
Лет десять назад все только так и работали. Открывали файл для чтения, считывали из dbf-файла версию, по версии учитывали особенности, определяли размер хидера и количество полей в строке (а также смещение полей и длину строки), а дальше все просто. 



--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0656 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.