Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с ADO, Oracle 10g XE + ADO 
:(
    Опции темы
killerbean
Дата 28.9.2006, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Выполняю запрос 
Код

update LOADING_LIST set LL_EXIT_FROM = LL_UPLOAD_FROM + 1/(24*2),  LL_EXIT_TO = LL_UPLOAD_TO + 1/(24*2) where LL_EXIT_FROM = LL_UPLOAD_FROM and and LL_EXIT_TO = LL_UPLOAD_TO


LL_EXIT_FROM, LL_EXIT_TO, LL_UPLOAD_FROM, LL_UPLOAD_TO - поля типа TIMESTAMP. Цель запрса добавить по 30 мин. к полям  LL_UPLOAD_FROM и LL_UPLOAD_TO.
На сервере Oracle отрабатывает нормально а ADOQuery возвращает:
"Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции"

Как это побороть?


PM MAIL   Вверх
Rodman
Дата 28.9.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



попробуй
Код

update LOADING_LIST set LL_EXIT_FROM = LL_UPLOAD_FROM + 1/(24*2) 
where LL_EXIT_FROM = LL_UPLOAD_FROM and and LL_EXIT_TO = LL_UPLOAD_TO


и 

Код

update LOADING_LIST set LL_EXIT_TO = LL_UPLOAD_TO + 1/(24*2) 
where LL_EXIT_FROM = LL_UPLOAD_FROM and and LL_EXIT_TO = LL_UPLOAD_TO

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


Шустрый
*


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

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



тоже самое

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  error.JPG 17,03 Kb
PM MAIL   Вверх
Rodman
Дата 28.9.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



Я не заметил дублирования and

Код

update LOADING_LIST set LL_EXIT_TO = (LL_UPLOAD_TO + (1/(24*2))) 
where ((LL_EXIT_FROM = LL_UPLOAD_FROM) and (LL_EXIT_TO = LL_UPLOAD_TO));


раздели на два запроса оба апдейта...

Добавлено @ 12:45 
а LL_UPLOAD_FROM и LL_UPLOAD_TO это параметры???
PM MAIL WWW Skype GTalk YIM MSN   Вверх
killerbean
Дата 28.9.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



and случайно вставил. проблема не в нем

Цитата

а LL_UPLOAD_FROM и LL_UPLOAD_TO это параметры???


Это поля таблицы LOADING_LIST

Цитата

раздели на два запроса оба апдейта...


Не совсем понял. Если сразу проапдейтить одно поле, а потом другое, то я так делал, не помогает


PM MAIL   Вверх
Rodman
Дата 28.9.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



У меня один раз такое было....

Я сделал так...

Открываю таблицу на новой записи, запоминаю нужные поля и удаляю запись, а потом просто добавляю старые записи, а новые добавляю уже обновленными...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
killerbean
Дата 28.9.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



так на сервере же все работает нормально. Я не пойму в чем может быть проблема  smile 
PM MAIL   Вверх
Rodman
Дата 28.9.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



Ну и у меня на сервере работало... 

У тебя работает добавление и удаление???

Если да то
Код

var dm:TDataModule1;
begin
  dm:=TDataModule1.Create(nil);
  try
    dm.UserByName.Close;
    dm.UserByName.ParamByName('PrmNU').Value:=PrmLastName;
    dm.UserByName.Open;
    if(Length(dm.UserByName.Fields.Fields[0].AsString)>0)then
    begin
      dm.DeleteUser.ParamByName('PrmNU').Value:=PrmLastName;
      dm.DeleteUser.ParamByName('PrmPU').Value:=dm.UserByName.Fields.Fields[2].AsString;
      dm.DeleteUser.ExecSQL();
      dm.AddUser.ParamByName('PrmCU').Value:=dm.UserByName.Fields.Fields[0].AsString;
      dm.AddUser.ParamByName('PrmCN').AsString:=PrmName;
      dm.AddUser.ParamByName('PrmPU').AsString:=PrmPass;
      dm.AddUser.ParamByName('PrmPN').AsString:=PrmPhone;
      dm.AddUser.ParamByName('PrmCE').AsString:=PrmEmail;
      dm.AddUser.ParamByName('PrmUP').AsInteger:=dm.UserByName.Fields.Fields[5].AsInteger;
      dm.AddUser.ExecSQL();
      Result:=Crypter('Information were updated')
    end
  finally
    dm.Free;
  end;


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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



killerbean, 
Если возвращаемое количество обработанных записей не равно 1, то это считается ошибкой. Примени
SET NOCOUNT ON - отключи счетчик обработанных записей. 
Или вместо ADOQuery примени ADOCommand.
PM MAIL   Вверх
killerbean
Дата 29.9.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



SergeBS ОГРОМНОЕ СПАСИБО за ADOCommand. Заработало сразу. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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