Переключение на Главную Страницу Страницы: 1 [2] 3 4 5 ОтправитьПечать
Очень популярная тема (более 25 ответов) Запрос из таблицы значений (число прочтений - 13018 )
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #15 - 01. Марта 2010 :: 07:59
Печать  
да, скорее всего
  

1&&2&&3
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #16 - 01. Марта 2010 :: 08:21
Печать  
Это как-то можно обойти?
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #17 - 01. Марта 2010 :: 08:24
Печать  
я пока вижу выход в замене пустых дат в ТЗ на '01.01.1753'
  

1&&2&&3
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #18 - 01. Марта 2010 :: 08:30
Печать  
trad писал(а) 01. Марта 2010 :: 08:24:
я пока вижу выход в замене пустых дат в ТЗ на '01.01.1753'

Я попробовал заменить пустые значения на текущую дату( так логичнее в обработке), получил:
Код
Выбрать все
рс.ВыполнитьSQL_ИзТЗ(ТЗ,100);
{C:\1SBASES\COPYS\USR36\УЛОЖИТЬ В БАЗУ.ERT(84)}: Произошла ошибка при выполнении запроса.
 State 22008, native 0, message [Microsoft][ODBC SQL Server Driver]Datetime field overflow 


И ещё вопрос один у меня есть.
Если я хочу работать с таблицей из другой базы SQL, мне нужно указать, вместо tempdb имя базы?
Я так сделал при этом один раз она создалась, при второй попытке сообщает, что такая база уже существует.
И как получить выборку из такой базы?
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #19 - 01. Марта 2010 :: 08:50
Печать  
Цитата:
{C:\1SBASES\COPYS\USR36\УЛОЖИТЬ В БАЗУ.ERT(84)}: Произошла ошибка при выполнении запроса.
State 22008, native 0, message [Microsoft][ODBC SQL Server Driver]Datetime field overflow

в выше приведенном коде я заменил несколько строк. и ошибок нет.
...
Иначе
     ТЗ.НоваяКолонка("Кол"+Тек,"Дата");
     рс.ДобПараметр(1,10,8,0);
     SQL_тип="datetime";
КонецЕсли;
...
ТЗ.Заполнить(РабочаяДата());
...


проверь у себя все описания типов
  

1&&2&&3
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #20 - 01. Марта 2010 :: 09:01
Печать  
Код
Выбрать все
рс.ДобПараметр(1,[b]10,8,0[/b]); 

- синтаксис-помощник не пропускает,
если не меняя эту строчку:
Код
Выбрать все
рс_.ВыполнитьИнструкцию(СтрЗаменить(ТекстЗапроса,"%Имя%",ИмяТаб));
{C:\1SBASES\COPYS\USR36\УЛОЖИТЬ В БАЗУ.ERT(83)}: State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 5: Incorrect syntax near '/b'. 

  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #21 - 01. Марта 2010 :: 09:02
Печать  
al_zzz писал(а) 01. Марта 2010 :: 08:30:
Если я хочу работать с таблицей из другой базы SQL, мне нужно указать, вместо tempdb имя базы?
если ты на том же сервере и в том же коннекте, то можно использовать ту же врем.таблицу #имя
если в другом коннекте, то можно глобальную врем.таблицу ##имя
если хочешь не временную таблицу, то соответственно
set nocount on
if exists (select * from [ИмяБД..]sysobjects where id=object_id('[ИмяБД..]tmp1') and sysstat & 0xf = 3 )
  drop table [ИмяБД..]tmp1;
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #22 - 01. Марта 2010 :: 09:04
Печать  
Цитата:
- синтаксис-помощник не пропускает,
форумные тэги убери Улыбка
  

1&&2&&3
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #23 - 01. Марта 2010 :: 09:16
Печать  
  Улыбка SQL пока плохо знаю... Думал, что это что-то из синтаксис конструкций языка...
Вот текст запроса и ошибка:
Код
Выбрать все
set nocount on
if exists (select * from tempdb..sysobjects where id=object_id('tempdb..#MyTableOsn') and sysstat & 0xf = 3 )
  drop table #MyTableOsn;
create table #MyTableOsn (KOD char(9), MANAGER char(25), CITY char(20), POST char(9), SROK numeric(3,0), ABC char(9), XYZ char(9), OST numeric(15,3), DIN numeric(15,4), SZ numeric(15,2), RN numeric(15,0), MIN numeric(15,3), MAX numeric(15,3), DATE datetime, DOP numeric(15,2)/*,*//*column_definition*/)
set nocount off

******************************************************************
insert into #MyTableOsn values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?/*,*//*?*/)

рс.ВыполнитьSQL_ИзТЗ(ТЗ,100);
{C:\1SBASES\COPYS\USR36\УЛОЖИТЬ В БАЗУ.ERT(85)}: Произошла ошибка при выполнении запроса.
 State 22008, native 0, message [Microsoft][ODBC SQL Server Driver]Datetime field overflow 

  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #24 - 01. Марта 2010 :: 09:22
Печать  
какие параметры метода ДобПараметр() для поля "дата"?
  

1&&2&&3
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #25 - 01. Марта 2010 :: 09:26
Печать  
trad писал(а) 01. Марта 2010 :: 09:22:
какие параметры метода ДобПараметр() для поля "дата"?

Код
Выбрать все
SQL_Тип="datetime";
рс.ДобПараметр(1,10,8,0); 

  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #26 - 01. Марта 2010 :: 09:57
Печать  
проверь есть ли в ТЗ даты менее '01.01.1753'
  

1&&2&&3
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #27 - 01. Марта 2010 :: 10:00
Печать  
У меня дата представлена в виде "ДД.ММ.ГГ", в одинэсовском формате. Самая маленькая - "01.03.10", т.е. сегодня
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
На связи



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #28 - 01. Марта 2010 :: 10:35
Печать  
у меня более нет предложений Печаль
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Запрос из таблицы значений
Ответ #29 - 01. Марта 2010 :: 10:54
Печать  
(0) не называй поля таблицы служебными названиями min  max

преобразовывать к datetime  надо так(такой строкой)
('20100228' as datetime )

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 5
ОтправитьПечать