Mysql Connector/odbc

Тема в разделе "Lotus - Программирование", создана пользователем Azrael, 22 апр 2008.

  1. Azrael

    Azrael Гость

    Проблема с 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 успехом не оборачивается. Никто не в курсе, как бороться? ((
     
  2. RonTermit

    RonTermit Гость

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

    Azrael Гость

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

    RonTermit Гость

    а можно примерчик кода..
     
  5. Azrael

    Azrael Гость

    RonTermit, пример почти-что один в один из help-а

    Код (Text):
    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... не прокатывает. та же самая ошибка
     
  6. K-Fire

    K-Fire Гость

    Проблема вероятно в базе либо в драйвере. Я варчары читал без каких-либо трудностей.
     
  7. RonTermit

    RonTermit Гость

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

    Azrael Гость

    ок, завтра попробую, о результатах отпишусь... драйвер с оф.сайта скачал Mysql Connector/odbc 5.1
    сюда неправильно скопировал))))))
     
Загрузка...

Поделиться этой страницей