Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) insert into - ошибка (число прочтений - 12031 )
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
insert into - ошибка
13. Февраля 2007 :: 04:30
Печать  
Цитата:
INSER INTO HistoryB
VALUES (1,'ОплатаБЛс2005','ПроизвольнаяДоплата03',{d '2007-02-13'},{d '0000-00-00'})
FAILED! ICommandText::Execute(): Произошла одна или несколько ошибок во время обработки команды.

база дбф, оле дб, 1спп Nightly build 2006-10-26
дбф-ка была создана вот так:
Код
Выбрать все
ДБФ=СоздатьОбъект("XBase");
ДБФ.ДобавитьПоле("Num","N",15,0);
ДБФ.ДобавитьПоле("ID_Boss","S",100,0);
ДБФ.ДобавитьПоле("ID","S",100,0);
ДБФ.ДобавитьПоле("Data1","D",0,0);
ДБФ.ДобавитьПоле("Data2","D",0,0);
 

  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #1 - 13. Февраля 2007 :: 04:42
Печать  
на всякий случай попробовал вот так:
Цитата:
INSER INTO HistoryB
(Num,ID_Boss,ID,Data1,Data2)
VALUES (1,'ОплатаБЛс2005','ПроизвольнаяДоплата03',{d '2007-02-13'},{d '0000-00-00'})

результат тот же  Нерешительный
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #2 - 13. Февраля 2007 :: 04:49
Печать  
попробовал Nightly build 2007-02-12, результат всё тот же...
стабильно одноко  Смех
только непонятно что стабильно: толи я туплю, толи просто лыжи не едут Ужас
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #3 - 13. Февраля 2007 :: 04:52
Печать  
по-моему все таки INSERT
  
Наверх
 
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #4 - 13. Февраля 2007 :: 05:00
Печать  
DrACe писал(а) 13. Февраля 2007 :: 04:52:
по-моему все таки INSERT

мдя Нерешительный Смех Очень довольный
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #5 - 13. Февраля 2007 :: 05:02
Печать  
странно, но результат тот же (((
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #6 - 13. Февраля 2007 :: 05:09
Печать  
если тебе нужно просто создать новую dbf-ку по данным запроса, то делай так:
Код
Выбрать все
SELECT
...
INTO DBF dbf_name 

  
Наверх
 
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #7 - 13. Февраля 2007 :: 05:25
Печать  
Да не, мне не из запроса... да в принцыпе знаю я sql несмотря на запарку с inser ))
мне нужно добавить новую строку в сущь.таблицу с определенными значениями.
не пойму в чём тут дело?
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #8 - 13. Февраля 2007 :: 05:31
Печать  
проблема с нулевой датой (нужно 30-12-1899)
на вооружение: есть хорошая функция DATE(YYYY, MM,DD)
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #9 - 13. Февраля 2007 :: 05:35
Печать  
Епона мама...
где раньше был?
спасибище огромное! Подмигивание
DrACe, конечно, тоже спасибо за inser, но по-меньше  Подмигивание Очень довольный
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #10 - 13. Февраля 2007 :: 08:25
Печать  
spock писал(а) 13. Февраля 2007 :: 05:31:
проблема с нулевой датой (нужно 30-12-1899)
на вооружение: есть хорошая функция DATE(YYYY, MM,DD)

ИМХО это еще должно зависеть от версии DBF (ну или других параметров), так в SQL есть дата 01.01.1753, а есть и 01.01.0000 (насколько помню).
ЗЫ
Но проще посмотреть как это делает 1С для своих DBF-ок.
  
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #11 - 13. Февраля 2007 :: 08:50
Печать  
чет on-line msdn library тормозит (цитирую локально):

Цитата:
а есть и 01.01.0000 (насколько помню)


Цитата:
datetime
Date and time data from January 1, 1753 through December 31, 9999
Values for datetime earlier than January 1, 1753, are not permitted
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #12 - 13. Февраля 2007 :: 08:52
Печать  
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #13 - 13. Февраля 2007 :: 11:15
Печать  
spock писал(а) 13. Февраля 2007 :: 08:50:
чет on-line msdn library тормозит (цитирую локально):

Цитата:
а есть и 01.01.0000 (насколько помню)


Цитата:
datetime
Date and time data from January 1, 1753 through December 31, 9999
Values for datetime earlier than January 1, 1753, are not permitted

Таки да, ишибся, посіпаю голову пеплом.
Но а как обстоят дела в dbf?
  
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #14 - 13. Февраля 2007 :: 11:23
Печать  
pvase писал(а) 13. Февраля 2007 :: 11:15:
Но а как обстоят дела в dbf?

написано выше (по крайней мере, 1с использует эту дату как пустое значение типа Дата).

А вообще, провайдер понимает широкий диапазон ({^0001-01-01} - {^9999-12-31})
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #15 - 19. Февраля 2007 :: 04:36
Печать  
решил новую тему не создовать, а то наплодю здесь  Печаль
Код
Выбрать все
UPDATE CJ447 SET RESULT=100
WHERE
	(PERIOD='20070101M')  AND
	(DATEB>={d '2006-05-01'}) AND (DATEE<={d '2006-05-31'})  AND
	IDALG='  JO' AND
	ids='     G   '  AND
	RESULT=-156 


и все таже ошибка "FAILED! ICommandText::Execute(): Произошла одна или несколько ошибок во время обработки команды." Что опять не так? Запрос
Код
Выбрать все
	|SELECT
	|	ЖР.ids AS [Сотр $Справочник.Сотрудники],
	|	ЖР.RESULT AS Рез
	|FROM
	|	$ЖурналРасчетов.Зарплата ЖР
	|WHERE
	|	(ЖР.PERIOD='"+Формат(НачДата,"Д ГГГГММДД")+"M')  AND
	|	(ЖР.DATEB>=:ДатаНачала~~) AND (ЖР.DATEE<=:ДатаОкончания~~)  AND
	|	ЖР.IDALG=:КодРасч AND
	|	ЖР.ids=:Сотр  AND
	|	ЖР.RESULT=:Сумма
 


отрабатывает нормально.....
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #16 - 19. Февраля 2007 :: 04:56
Печать  
Код
Выбрать все
UPDATE CJ447
SET Result=1 

и так не работает! Плачущий
1спп.перепробовал кучу.
напоминаю: база дбф, платформа 1с - 25
  
Наверх
ICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #17 - 19. Февраля 2007 :: 05:30
Печать  
Может быть, в строке подключение режим "Read", а не "ReadWrite"?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #18 - 19. Февраля 2007 :: 06:00
Печать  
Uzhast писал(а) 19. Февраля 2007 :: 05:30:
Может быть, в строке подключение режим "Read", а не "ReadWrite"?

А вы знаете, что в 2.5 для метода ОлеДБ::Соединение можно не указывать строку подключения.
Т.е. в случае вызова ОлеДБ::Соединение() будет вызвано подклчючение к текущей базе.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #19 - 19. Февраля 2007 :: 06:33
Печать  
artbear писал(а) 19. Февраля 2007 :: 06:00:
А вы знаете, что в 2.5 для метода ОлеДБ::Соединение можно не указывать строку подключения.
Т.е. в случае вызова ОлеДБ::Соединение() будет вызвано подклчючение к текущей базе.

ВНИМАНИЕ!!!
Этого метода не будет, он включен в компоненту по недоразумению (без согласования со мной).
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #20 - 19. Февраля 2007 :: 06:54
Печать  
Цитата:
СтрокаСоединения = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + Каталог + ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #21 - 19. Февраля 2007 :: 06:59
Печать  
spock писал(а) 19. Февраля 2007 :: 06:33:
ВНИМАНИЕ!!!
Этого метода не будет, он включен в компоненту по недоразумению (без согласования со мной).

Кирилл, а смысл?
ИМХО нафига помнить каждый раз о сложной строке подключения, которая все равно одна и та же Печаль
Или давай сделаем другой доп. метод СоединениеСТекущейБазой, наподобие метода ОДБЦРекордсет для скуля
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #22 - 19. Февраля 2007 :: 07:09
Печать  
artbear писал(а) 19. Февраля 2007 :: 06:59:
ИМХО нафига помнить каждый раз о сложной строке подключения, которая все равно одна и та же Печаль

Я не согласен с тобой.
Этот класс мной задумывался несколько шире, чем только доступ к данным формата DBF и через vfpoledb provider (он был изначально выбран только из-за того, что не нашлось другой алтернативы).
Единственным исключением является УложитьСписокОбъектов().
Во-первых, попробовал Advantage oledb provider, он меня приятно удивил.
Во-вторых, мне хотелось бы еще его использовать для доступа к mssql (или другие судб).
В-третьих, может быть кто-то хочет открывать соединение только на чтение (конечно, это не весомый аргумент).
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #23 - 19. Февраля 2007 :: 07:44
Печать  
spock писал(а) 19. Февраля 2007 :: 07:09:
Во-первых, попробовал Advantage oledb provider, он меня приятно удивил.

Чем удивил? Какие фичи и баги ты обнаружил?
Select Top правильно работает, в отличие от vfpoledb?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #24 - 19. Февраля 2007 :: 08:57
Печать  
artbear писал(а) 19. Февраля 2007 :: 07:44:
spock писал(а) 19. Февраля 2007 :: 07:09:
Во-первых, попробовал Advantage oledb provider, он меня приятно удивил.

Чем удивил? Какие фичи и баги ты обнаружил?
Select Top правильно работает, в отличие от vfpoledb?

Умеет работать с индексами (можно создавать индексы, и самое смешно, при вставке данных в таблицу индексный файл увеличивается)
Про TOP не смотрел (а что там было с ним? Улыбка ).
И этот провайдер мне показался более адекватным  в отличие от vfpoledb, хотя это предвзято.
Нужно тестировать.
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #25 - 19. Февраля 2007 :: 09:54
Печать  
мужчины! сэры! Со сжатыми губами ваши рассуждения, конечно же, очень познавательны... но... что по моему вопросу?  Озадачен
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #26 - 19. Февраля 2007 :: 10:24
Печать  
Вот это отработало:
Код
Выбрать все
CREATE TABLE CJ447 (PERIOD c(9), DATEB date, DATEE date, IDALG c(4), ids c(9), RESULT N(15,2))

INSERT INTO CJ447 (PERIOD, DATEB, DATEE, IDALG, ids, RESULT) values('20070101M', date(2006,05,01), date(2006,05,31), '  JO', '     G   ', -156)

UPDATE CJ447 SET RESULT=100
WHERE
	(PERIOD='20070101M')  AND
	(DATEB>={d '2006-05-01'}) AND (DATEE<={d '2006-05-31'})  AND
	IDALG='  JO' AND
	ids='     G   '  AND
	RESULT=-156
 

  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #27 - 20. Февраля 2007 :: 08:12
Печать  
ну почему так может быть?
на другой базе все отрабатывает без проблемм.
В чем может быть сюрприз?

галочку Только чтение на файле cj447.dbf посмотрел  Очень довольный, больше и не знаю что делать Плачущий
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #28 - 20. Февраля 2007 :: 08:15
Печать  
перекопировал эту же базу в каталог "повыше" - работает ((((
неужели дело было в местоположении (F:\Раб.папка\УС\Копия (2) PRBasic)?
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #29 - 20. Февраля 2007 :: 08:19
Печать  
DionX писал(а) 20. Февраля 2007 :: 08:15:
перекопировал эту же базу в каталог "повыше" - работает ((((
неужели дело было в местоположении (F:\Раб.папка\УС\Копия (2) PRBasic)?

ну да - пробелов вроде не должно быть (если ты не выделяешь имя файла какими-нибудь "скобками" типа [] или кавычек)
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #30 - 20. Февраля 2007 :: 08:22
Печать  
База, расположенная в папке C:\Раб.папка\УС\Копия (2) PRBasic
Серия sql-инструкций, приведенных выше, так же выполнились.
  
Наверх
ICQ  
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #31 - 20. Февраля 2007 :: 08:28
Печать  
DionX писал(а) 20. Февраля 2007 :: 08:15:
неужели дело было в местоположении (F:\Раб.папка\УС\Копия (2) PRBasic)?


ИМХО, в этом была проблема: Копия (2) PRBasic.
У меня валились ошибки, когда коммуникатор к именам файлов ДБФ прибавлял скобки с номером файла.
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #32 - 21. Февраля 2007 :: 00:39
Печать  
DrACe писал(а) 20. Февраля 2007 :: 08:19:
DionX писал(а) 20. Февраля 2007 :: 08:15:
перекопировал эту же базу в каталог "повыше" - работает ((((
неужели дело было в местоположении (F:\Раб.папка\УС\Копия (2) PRBasic)?

ну да - пробелов вроде не должно быть (если ты не выделяешь имя файла какими-нибудь "скобками" типа [] или кавычек)

Странно... Путь F:\Раб.папка\УС\Копия (2) PRBasic использовался только в строке подключения и инструкции select выполнялись без ошибок, а вот c update была проблема...
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: insert into - ошибка
Ответ #33 - 21. Февраля 2007 :: 00:40
Печать  
spock писал(а) 20. Февраля 2007 :: 08:22:
База, расположенная в папке C:\Раб.папка\УС\Копия (2) PRBasic
Серия sql-инструкций, приведенных выше, так же выполнились.

короче: очевидное-невероятное... необъяснимое - рядом! и тп Ужас  Улыбка
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать