Mysql Connector/odbc

  • Автор темы Azrael
  • Дата начала
A

Azrael

Гость
#1
Проблема с VARCHAR полями. odbcResultSet.FieldExpectedDataType возвращает непойми что, -9, -10, таких константы в лотусе вообще не определены... Когда дальше пытаюсь читать odbcResultSet.GetValue из этого поля вылетает с ошибкой "Cannot convert data from native to expected or requested datatype". Попытка насильно установить odbcResultSet.FieldExpectedDataType(i, DB_CHAR) или DB_TYPE_UNDEFINED успехом не оборачивается. Никто не в курсе, как бороться? ((
 
R

RonTermit

Гость
#2
Просто использую
Call docCur.ReplaceItemValue("поле", CurRes.GetValue( "название") )...и для типа дата проходит на ура
 
A

Azrael

Гость
#3
RonTermit
У меня почему-то не катят строки(((.
Создать док, и Call doc.ReplaceItemValue("dbField", result.GetValue(i)) тоже не прокатило((
 
A

Azrael

Гость
#5
RonTermit, пример почти-что один в один из help-а

Код:
Uselsx "*LSXODBC"
...
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
...
If Not con.ConnectTo("qwerty") Then
...

Set qry.Connection = con
Set result.Query = qry
result.Execute
qry.SQL = "SELECT * FROM DATA_OUTPUT"
...
If result.IsResultSetAvailable Then
Do
result.NextRow
v= result.GetValue("<поле с типом char, varchar, text, longtext...>") ' <-- вот тут оно и затыкается
...
Loop Until result.IsEndOfData
Else
...
End if..
result.Close(DB_CLOSE)
con.Disconnect
заменял строку на что-то типа вроде Call doc.ReplaceItemValue("dbField", result.GetValue(1)), предварительно создавая doc... не прокатывает. та же самая ошибка
 
K

K-Fire

Гость
#6
Проблема вероятно в базе либо в драйвере. Я варчары читал без каких-либо трудностей.
 
R

RonTermit

Гость
#7
Я писал так
qry.SQL = "SELECT * FROM DATA_OUTPUT"
result.Execute
Result.LastRow
For zk =1 To Result.NumRows
Result.CurrentRow = zk
.....
и все работает по моему у тя просто не установлена первая строка а потом сразу стоит NextRow.... ну и понятно result.Execute (типа выполнить ) надо ставить уже после того как указал qry.SQL