powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / База в res
10 сообщений из 10, страница 1 из 1
База в res
    #35889526
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Есть таблица с 16000 строк и 3 столбцами.
Задача - разместить эту таблицу в файле программы (в ресурсах) и использовать эту таблицу как базу данных(т.е. чтобы select min(),max()).
Пока решение только такое:
Запихнуть в файл ресурсов текстовый файл, считывать через LoadResData текстовый файл на диск, подключать его через OLE DB или Text ODBC Driver считывать данные - удалять файл.
Может кто подскажет чтонить.
Спасибо
...
Рейтинг: 0 / 0
База в res
    #35889641
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый вопрос - зачем ?
не проще организовать простую БД - работать будет вроде как быстрее
...
Рейтинг: 0 / 0
База в res
    #35889668
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну еще adorecordset должен уметь сериализоваться/десериализоваться (SaveToFile, LoadFromFile). А сам файл содержимого таблицы можно приатачить ресурсом к программе, как было сказано.
...
Рейтинг: 0 / 0
База в res
    #35889911
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как бы не совсем БД, это набор табулированых значений которые изменяться не будут.
...
Рейтинг: 0 / 0
База в res
    #35891432
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это за шестнадцать тысяч констант из которых надо динамически высчитывать минимум и максимум??? Если это действительно константы, то посчитай свой минимум и максимум заранее и пропиши в код своей программы.
Такие большие объемы "не изменяющихся значений" это явный признак кривой постановки задачи.
...
Рейтинг: 0 / 0
База в res
    #35891696
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, я могу представить себе задачу, когда такие значения нужно высчитывать исходя из каких-то условий, которые постоянно меняются. И количество этих минимумов и максимумов может превысить количество исходных значений.
...
Рейтинг: 0 / 0
База в res
    #35892102
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал пока так:
Засунул в ресурсы файл с данными .xls(101, "CUSTOM")
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim arrData() As Byte

arrData = LoadResData( 101 , "CUSTOM")
Open App.Path & "\cranr" For Binary Access Write As # 1 
    Put # 1 , , arrData
Close # 1 
cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};" & "ReadOnly=1;DBQ=" & App.Path & "\cranr"
rs.Close
cn.Close
DeleteFile App.Path & "\cranr"
Вопрос такой, а можно ли как то передать бинарные данные в рекордсет, минуя запись файла на диск?
Смотрел ADODB.Stream, но пока не понял как там с потоками разрулить.
...
Рейтинг: 0 / 0
База в res
    #35892148
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА что это за шестнадцать тысяч констант из которых надо динамически высчитывать минимум и максимум??? Если это действительно константы, то посчитай свой минимум и максимум заранее и пропиши в код своей программы.
Такие большие объемы "не изменяющихся значений" это явный признак кривой постановки задачи.
Без таблицы сдесь увы(на данный момент) не обойтись.
...
Рейтинг: 0 / 0
База в res
    #35892913
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimВопрос такой, а можно ли как то передать бинарные данные в рекордсет, минуя запись файла на диск?
Смотрел ADODB.Stream, но пока не понял как там с потоками разрулить.Если нужно делать разнообразные sql-запросы, то нельзя. А если нужна чисто таблица с исходными данными в рекордсете, то можно.
...
Рейтинг: 0 / 0
База в res
    #35962070
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА что это за шестнадцать тысяч констант из которых надо динамически высчитывать минимум и максимум??? Если это действительно константы, то посчитай свой минимум и максимум заранее и пропиши в код своей программы.

Подскажите, пожалуйста, как более правильно организовать такой размерности массив
Код: plaintext
Public CM( 3 ,  3 ,  3 ,  78 ,  8 ) As Double
Т.е. как инициализировать весь этот массив констант.
Пока сделеал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub L_100_10()
'100 L 10
    CM( 1 ,  2 ,  1 ,  1 ,  8 ) =  1 
    CM( 1 ,  2 ,  1 ,  2 ,  8 ) =  2 
    CM( 1 ,  2 ,  1 ,  3 ,  8 ) =  3 
    CM( 1 ,  2 ,  1 ,  4 ,  8 ) =  4 
    CM(i, i, i, i, i) = i.....
 End sub
т.е. у меня сейчас 27 процедур(в одной процедуре пишет, что Out of Memory) которые заполняют массив, понимаю что намудрил, но работает и никакой файл в ресурсах не нужен.
Как мне более правильно прописать такое кол-во констант в программе.
И не будет ли тормозов потом с сортировкой массива.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / База в res
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]