• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Запрос к Sql базе

  • Автор темы AndreySAV
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

AndreySAV

Написал обработку по переносу номенклатурного перечня из UmBase через SQL. в скуле есть табличка "imb1_connector", в ней поле "DOTEXP" - дата загрузки из скуля в 1С 8,0. когда данные выгружаются в скуль то это поле остается пустым. так вот необходимо чтобы ври открытии базы вибирались тока те записи в которых это поле пустое.

сейчас:
rs.Open("SELECT * FROM dbo.imb1_connector",db,3,1,1);
Пока rs.Eof()=0 Цикл
ДатаЗагр=СокрЛП(rs.Fields("DOTEXP").Value);
Если ДатаЗагр="" или ДатаЗагр="01.01.1900 0:00:00" Тогда
Иначе
rs.MoveNext();
ОбработкаПрерыванияПользователя();
Продолжить;
КонецЕсли;

....

КонецЦикла;

Пробовал:

rs.Open("SELECT * FROM dbo.imb1_connector where DOTEXP='' ",db,3,1,1);

нечерта не получается. он в этом случае не выбирает ни одной записи.

Пока то что есть меня устраивает, потому как пока все в тестовом режиме, порядка 300 записей в базе. Но вот когда все внедрится, то там будут десятки тысяч и каждуй раз крутить всю базу на проверку новых (не выгруженых) записей неохото, да как то и не логично.

да вот в этой строке:
rs.Open("SELECT * FROM dbo.imb1_connector where DOTEXP='' ",db,3,1,1);
после where DOTEXP= стоят одинарные ковычки без пробела.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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