Здравствуйте, я почитал на этом форуме про работу с базами данных и как я понял, там везде описано, как создавать с помощью PureBasic базу данных и заполнить её, а как мне подключится к excel файлу (как в vb6 это делается через ADO) и с помощью запроса Select и Insert вытащить от туда данные и записать?
Подключение к базе данных и написание SQL запросов.
Сообщений 1 страница 5 из 5
Поделиться326.12.2010 21:48:35
ВиниПур, мне тут посоветовали библиотеку COMatePLUS, ты не пользовался ею?
Поделиться426.12.2010 23:30:45
goodwen
КачайCOMatePLUS и ADOmate2
В архивах есть примеры на выбор, что понравится.
Поделиться528.12.2010 17:00:12
Я тут более и менее разобрался, прошу меня скорректировать. Я Вопросы написал в комментариях к коду:
IncludePath "..\" XIncludeFile "ADOmate.pbi";эти две строки, как я понял для подключения библиотеки Define Connection, Count, i ;объявление переменных Define ExcelFile.s, ConnectionString.s ExcelFile.s = GetCurrentDirectory()+"customers.xls" ; здесь, я как понял, строковой переменной присваивается имя базы и путь где она лежит, правильно ли я понял, что GetCurrentDirectory() - это аналог App.Path в vb6? If FileSize(ExcelFile) > 0 ; вот этот блочный if я не понимаю, что он означает? Что если такой файлу уже есть то удалить его? DeleteFile(ExcelFile) EndIf ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelFile + ";Extended Properties=" + Chr(34) + "Excel 8.0" + Chr(34) ; тут мне не ясно почему Excel 8.0, почему именно это обозначение? Connection = ADOmate_OpenDatabase(ConnectionString) ; соединение с бд If Connection = 0 ; а этот if я как понимаю нужен для предупреждения об ошибке Debug ADOmate_GetLastErrorDescription() End EndIf
Я как понимаю это всё что нужно для подключения к БД, я только с запросами не могу пока разобраться. Вот что я понял:
SQL.s = "Select * from TestTable"; тут мне непонятно как записать запрос, у меня бд в виде excel файла, поэтому мне там нужно указать лист, где надо искать, Que.s="Select Meta-Ukz from mbukz$ where Ukz = '" & b & "'""; я тут записал, что нужно показать поле Meta-Ukz из листа mbukz, где поле Ukz содержит значение приравненное к переменной b, правильно ли я записал запрос? ADOmate_DatabaseQuery(Connection, Que.s, #adOpenStatic), а это уже сам запрос непосредственно?
Вот тут мне не понятно, а как после всего этого результат запроса вывести на TextGadget?
Так же прошу помочь с самой библиотекой, я не понимаю, куда нужно скопировать сам файл ADOmate.pbi? В Sestem32? Или в ту папку, где у меня PureBasic установлен?
Отредактировано goodwen (28.12.2010 17:04:25)