Работа с DataSet
у меня тут такая проблема, помогите понять одну мещь.
У меня прога по визуализации инфы из файлов. В файле содержиться инфа о широте и долготе точки. я ее беру и отображаю на карте. Пишу на C++ Builder 6. Когда открываешь файл ,как известно он заноситься в память и поэтому считывание его не требует много времени. сейчас у меня файл размером в 700000 записей обрабатывает за 2 сек.
но вот проблема в том что мне нужно сделать тоже самое с иной из БД.
мне сказали что используя DataSet можно загнать все записи в память и оттуда работать. но чтото он так не хочет делать.
можете объяснить как работать с DataSet чтобы вытаскивать из БД Access таблицу , вгонять ее в память и с ней уже общаться. Изменять мне ничего не надо в таблице, только читать. заранее благодарен.
Цитата: maxFM
Люди здраствуйте!!!!
у меня тут такая проблема, помогите понять одну мещь.
У меня прога по визуализации инфы из файлов. В файле содержиться инфа о широте и долготе точки. я ее беру и отображаю на карте. Пишу на C++ Builder 6. Когда открываешь файл ,как известно он заноситься в память и поэтому считывание его не требует много времени. сейчас у меня файл размером в 700000 записей обрабатывает за 2 сек.
но вот проблема в том что мне нужно сделать тоже самое с иной из БД.
мне сказали что используя DataSet можно загнать все записи в память и оттуда работать. но чтото он так не хочет делать.
можете объяснить как работать с DataSet чтобы вытаскивать из БД Access таблицу , вгонять ее в память и с ней уже общаться. Изменять мне ничего не надо в таблице, только читать. заранее благодарен.
у меня тут такая проблема, помогите понять одну мещь.
У меня прога по визуализации инфы из файлов. В файле содержиться инфа о широте и долготе точки. я ее беру и отображаю на карте. Пишу на C++ Builder 6. Когда открываешь файл ,как известно он заноситься в память и поэтому считывание его не требует много времени. сейчас у меня файл размером в 700000 записей обрабатывает за 2 сек.
но вот проблема в том что мне нужно сделать тоже самое с иной из БД.
мне сказали что используя DataSet можно загнать все записи в память и оттуда работать. но чтото он так не хочет делать.
можете объяснить как работать с DataSet чтобы вытаскивать из БД Access таблицу , вгонять ее в память и с ней уже общаться. Изменять мне ничего не надо в таблице, только читать. заранее благодарен.
Слова для поиска (по форуму, гуглу и встроенной справке):
TADOConnection
TADOTable (лучше не использовать)
TADOQuery::SQL::TEXT = "SELECT * FROM TableName"
TADOQuery::FieldByName("FielName") - вытаскиваешь инфу из БД
как мне все в буфер загнать чтобы с памятью работать а не с БД?!!
после выполнения запроса инфа вся будет в памяти, с сервера по одной записи клиент не будет тянуть
У компонентов ципляемых на DataSet (TTable и др.) есть такие св-ва Filds, FildsCount, FindFirst, FindNext и т.п. они работаю непосредственно с результатом запроса загнанным в DataSet с помощью TQuery например, т.е. с памятью, а не с таблицами БД.
А можно то же самое на шарпе? подробнее смотрите в разделе C/C++/C#