powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQLite. В Access работает, а в VB6 нет
8 сообщений из 8, страница 1 из 1
SQLite. В Access работает, а в VB6 нет
    #38443259
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый, уважаемые знатоки. Столкнулся я со следующей проблемой и поэтому прошу Вашей помощи:
Написал некий код, в котором мне нужно считать из БД SQlite поля. Изначально писал на ACCESS и все прекрасно работает, но, когда захотел сделать полноценное приложение, то получил экстренное завершение VB6. Ниже приведу часть кода:
Dim cn As ADODB.Connection
Dim sk As String
Dim fn As String

Set cn = New ADODB.Connection
cn.ConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=АДРЕС БД;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
cn.Open
SQLa = "SELECT * FROM Data;"

Set rsa = New ADODB.Recordset
rsa.Open SQLa, cn, adForwardOnly, adLockReadOnly
Do Until rsa.EOF
fn = rsa.Fields(3)
sk = sk & fn & " " & rsa.Fields(4) & " " & rsa.Fields(5) & " " & rsa.Fields(6) & " " & rsa.Fields(7) & vbCrLf
rsa.MoveNext
Loop
rsa.Close

Затык происходит из-за выделенной строки, если ее убрать, то цикл нормально проходит. Я так понимаю, что там скорее всего несоответствие типов данных, но как это побороть, не могу догадаться. Подскажите пожалуйста. Ну и как я уже сказал, в Access все работает на ура.
Спасибо!
...
Рейтинг: 0 / 0
SQLite. В Access работает, а в VB6 нет
    #38443267
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
CStr(rsa.Fields(X))
...
Рейтинг: 0 / 0
SQLite. В Access работает, а в VB6 нет
    #38443275
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все гениальное просто! Спасибо! Но как быть, если поле пустое? Получаю Invalid use of NULL
...
Рейтинг: 0 / 0
SQLite. В Access работает, а в VB6 нет
    #38443304
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NZ()
...
Рейтинг: 0 / 0
SQLite. В Access работает, а в VB6 нет
    #38443333
IvanC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Преобразование решил следующей функцией
Function NZVB(tValue As Variant, Optional substValue) As Variant

If Not IsNull(tValue) Then
NZVB = tValue
Else
If IsMissing(substValue) Then
NZVB = vbEmpty
Else
NZVB = substValue
End If
End If
End Function

Всем спасибо! Очень помогли
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
SQLite. В Access работает, а в VB6 нет
    #39287304
emlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IvanC, здравствуйте. А какой библиотекой Вы пользуетесь для работы с SQlite3 из VB6? Не могли бы дать на нее ссылочку?
...
Рейтинг: 0 / 0
SQLite. В Access работает, а в VB6 нет
    #39287580
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
emlen,

"SQLite3 ODBC Driver", первая ссылка в гугле:
http://www.ch-werner.de/sqliteodbc/

Проект старый и возможно заброшен. Возможно не полностью совместим с последним SQLite, надо тестить.
...
Рейтинг: 0 / 0
SQLite. В Access работает, а в VB6 нет
    #39287581
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя пишут что тестировали успешно: "So far it has been tested with SQLite 2.8.17 and SQLite 3.13.0"
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQLite. В Access работает, а в VB6 нет
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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