Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает инсерт в оракл 
:(
    Опции темы
ACMilian
Дата 6.7.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Делаю инсерт:
Код

with Query do
 begin
      SQL.Add('insert into PROBA.C1000011');
      SQL.Add('(PROIZV, K_OBJ, K_REAG, K_OBJ_NORM, K_PRD, IOCODE, NORMA, DATA)'); 
      SQL.Add('values ('+IntToStr(NumWork)+','+IntToStr(ObjCode)+','+IntToStr(ReagCode)+','+IntToStr(NormObjCode)+',0,'+IntToStr(PrdCode)+','+ReplaceStr(edNorm.Text, ',', '.')+','+(DATA)+')');
    end;
    Execute;

на экзекуте выдаёт ошибку: отсутствует запятая.
думаю, проблема в переменной data(в ней находиться дата: 01.01.2006) типа стринг, т.к. без этого столбца инсерт идёт нормально.
хэлп)
PM MAIL ICQ   Вверх
Rodman
Дата 6.7.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Код

with Query do
 begin
      SQL.Add('insert into PROBA.C1000011');
      SQL.Add('(PROIZV, K_OBJ, K_REAG, K_OBJ_NORM, K_PRD, IOCODE, NORMA, DATA)'); 
      SQL.Add('values (:Prm1, :Prm2, :Prm3, :Prm4, :Prm5, Prm6, :Prm7, :Prm8) ;');
      ParamByName('Prm1').Value:=IntToStr(NumWork);
      ParamByName('Prm2').Value:=IntToStr(ObjCode);
      ParamByName('Prm3').Value:=IntToStr(ReagCode);
      ParamByName('Prm4').Value:=IntToStr(NormObjCode);
      ParamByName('Prm5').Value:=0;
      ParamByName('Prm6').Value:=IntToStr(PrdCode);
      ParamByName('Prm7').Value:=ReplaceStr(edNorm.Text, ',', '.');
      ParamByName('Prm7').Value:=DATA;
      ExecSQL;
end;

а так?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ACMilian
Дата 6.7.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



так не пойдёт.
Ошибка, в принципе, оракловская: Ora-00917 comma separator.  
Query - это копмонент OracleQuery. используется для нескольких разных инсертов и заполняется в программе.

Это сообщение отредактировал(а) ACMilian - 6.7.2007, 12:26
PM MAIL ICQ   Вверх
Rodman
Дата 6.7.2007, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



ну тогда тебе надо в debug'е посмотреть чему равна строка запроса перед Execute и скопировать ее для применения в самом оракле.. 
так проверишь правильность данных, а дальше посмотрим!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ACMilian
Дата 6.7.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



проверил в оракле. он дату 01.02.2006 воспринимал до ".2006" и писал что ошибка.
прибавил кавычки "01.02.2006" и больше не ругается.
Код

with Query do
  begin
  SQL.Add('begin');
  SQL.Add('insert into ASOYP.C10000011');
  SQL.Add('(PROIZV, K_OBJ, K_REAG, K_OBJ_NORM, K_PRD, IOCODE, NORMA, DATA)');
  SQL.Add('values ('+IntToStr(NumWork)+','+IntToStr(ObjCode)+','
      +IntToStr(ReagCode)+','+IntToStr(NormObjCode)+',0,'+IntToStr(PrdCode)+','
      +ReplaceStr(edNorm.Text, ',', '.')+','+''''+(DATA)+''''+');');
  SQL.Add('commit;');
  SQL.Add('end;');
end;

спасибо за помощь
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.