Имя: Пароль:
1C
 
Выгрузка данных в SQL
0 Slaventiya
 
17.07.09
18:23
Подскажите след, есть форма в которой указываеться дата, за которую будут выгружаться данные в совершенно другую базу, но, перед выгрузкой необходимо удалить все записи из таблиц вышеназванной базы за тоже число что введено в форме, вопрос, как передать в SQL Запрос
вида

DELETE From AktVDSVH Where DD =  ВыбДата

Где ВыбДата имеено элемент формы в которой выбираеться нужная для выгрузки дата.....

Еще сложность отчасти в том что, в скул дата должна передаваться в виде ММ/ДД/ГГГГ, а 1с делает через "." и если разобрать строку и собрать в нужном виде то получаеться уже строка, а не дата.... SQL Начинает ругаться на то что ошибка конвертации данных в дату из строки
1 ТелепатБот
 
гуру
17.07.09
18:23
2 Prikum
 
17.07.09
18:26
Для даты смотри формат()
3 Мелкий бес
 
17.07.09
18:26
CONVERT(datetime, '"+ВыбДата+"', 126)
4 ДенисЧ
 
17.07.09
18:27
использууй конверт(datetime, нужная дата, 102)
5 Slaventiya
 
17.07.09
18:47
Я насколько понимаю Так ?  

DELETE From AktVDSVH Where DD = CONVERT(datetime, '"+ВыбДата+"', 126
6 Slaventiya
 
17.07.09
18:47
И что есть 126 ?
7 ДенисЧ
 
17.07.09
18:47
(5) лучше почитай про конверта и выбери нужный тебе формат...
8 Slaventiya
 
17.07.09
20:35
Спсб.... но все закончилось вот так

   День = Лев(ВыбДата, 2);
   МесяцПром = Прав(ВыбДата, 5);
   Месяц = Лев(МесяцПром, 2);
   Год = Прав(Выбдата, 2);
   
   НужнаяДата = Месяц + "/" + День + "/" + Год;
   
   Соединение = СоздатьОбъект("ADODB.Connection");
   ConnectionString = "driver={SQL Server};server=1c-srv;uid=sa;pwd=111;Database=Narabotka";
   Соединение.ConnectionTimeOut = 600;
   Соединение.CursorLocation = 2;
   Соединение.Mode = 2;
   
   try
       Соединение.Open(ConnectionString);  
   except    
       Предупреждение("Невозможно установить соединение");
   endtry;
   
   Cmd = CreateObject("ADODB.Command");
   Cmd.CommandType = 1;
   Cmd.ActiveConnection = Соединение;
   Cmd.CommandText = "
   |DELETE From AktVDSVH Where DD = '" + НужнаяДата + "'
   |";
   Cmd.Execute();
9 los_hooliganos
 
17.07.09
20:39
uid=sa;pwd=111

всегда интересовало как от такого отказаться?
спец пользователя заводить?