• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Lotus

  • Автор темы Автор темы Z9A
  • Дата начала Дата начала
эт оя понимаю...вот возникает она тутик....--->'Case SQL_DECIMAL : Call result.SetValue(i, Cdbl( docCur.GetItemValue( FieldName(i) )(0) ) )
если эту строку скрыть то тут))) Case SQL_INTEGER : Call result.SetValue(i, Cint( docCur.GetItemValue( FieldName(i) )(0) ) )
 
а почему не сделать просто SQL isert как стринг и не вызывать exequte(query)?

Код:
query = "insert into ..."
Call src.Execute (query, Nothing)

Лично мне такой вариант проще выглядит, чем заморочки с типами данных и прочими тонкостями...
 
проще? гы. как только подумаю сколько кавычек придется писать - аж дергает. И хотел бы я посмотреть на твой запрос для 30-ти полей хотябы.
Как обходить такой момент, если у тебя поле в лотусе окажется пустым или еще круче... его вообще не будет? или, например, оно будет текстовым, а в SQL оно будет числовым? предлагаешь конвертировать на момент формирования запроса на Insert?

Я сделал так: поля в SQL-таблице назвал как в лотусе. а потом case по типам данных столбцов SQL-таблицы в цикле по столбцам той же таблицы (тут нужны не все Lotus'овские поля). Тогда не надо вести массивы полей или вообще как-то изгаляться передавать имена полей. Правда этот метог подходит только если что-то пишется с нуля (SQL-таблица и форма в Lotus'e).

И открою тебе секрет, поля в Lotus'e имеют свойство менять свой тип данных, даже если они определены на форме :)
Это особенно критично во время импорта в Lotus
Нет, однозначно!!! Хочу посмотреть на твой код!
 
Нет, однозначно!!! Хочу посмотреть на твой код!

у меня реализовано так:

Есть база для экспорта в которой я создал доки с основными параметрами соеденений указанием запроса лотуса(формула для дблукап) и указанием таблицы куда это выгружать... К этому доку как респонсы идут документы с описанием столбцов: название в лотусе, название в рдб и тип. Ну и соответственно в коде просто пробегаюсь по документам, конверчу данные в стринг и прибавляю к стрингу(с кавычками или без в зависимости от типа)... Для пустых стрингов соответственно вписываю нулл. Совершенно ничего сложного...

А код еще весь кривенький, потому как постоянно дописывается, так что выкладывать стыдно =)
 
мапить поля - классно!!! Сам хотел такое сделать, но оно того не стоит. много тратится времени.
Как ты решаешь вопрос если вдруг в каком-то документе вдруг не окажется какого-нить поля?

Все же считаю обсудаемый метод импорта надежней.
 
Как ты решаешь вопрос если вдруг в каком-то документе вдруг не окажется какого-нить поля?

Еще пока никук не решаю... Ловлю ошибки и перехожу к следующим... Пока у меня там другие траблы решаются... Баз кучи, данные не так просто в таблички сгрузить.

А что по поводу надежности, то тут вопрос спорный.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab