• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Lotus

  • Автор темы Z9A
  • Дата начала
Z

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) ) )
 
X

Xalet

а почему не сделать просто SQL isert как стринг и не вызывать exequte(query)?

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

Лично мне такой вариант проще выглядит, чем заморочки с типами данных и прочими тонкостями...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
проще? гы. как только подумаю сколько кавычек придется писать - аж дергает. И хотел бы я посмотреть на твой запрос для 30-ти полей хотябы.
Как обходить такой момент, если у тебя поле в лотусе окажется пустым или еще круче... его вообще не будет? или, например, оно будет текстовым, а в SQL оно будет числовым? предлагаешь конвертировать на момент формирования запроса на Insert?

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

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

Xalet

Нет, однозначно!!! Хочу посмотреть на твой код!

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

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

А код еще весь кривенький, потому как постоянно дописывается, так что выкладывать стыдно =)
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
мапить поля - классно!!! Сам хотел такое сделать, но оно того не стоит. много тратится времени.
Как ты решаешь вопрос если вдруг в каком-то документе вдруг не окажется какого-нить поля?

Все же считаю обсудаемый метод импорта надежней.
 
X

Xalet

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!