Поиск:

Ответ в темуСоздание новой темы Создание опроса
> редактирование записи. ADO 
V
    Опции темы
Teleport
Дата 12.8.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



не получается отредактировать запись в таблице Access с использованием ADO в Делфи 7. 
вот исходник. Хочу сохранять выбранный цвет из ColorDialog в поле в базе данных. Известными мне методами не хочет работать )))) Подскажите как  smile 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  color___ADO.rar 12,99 Kb


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Rodman
Дата 12.8.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



Цитата(Teleport @  12.8.2008,  16:40 Найти цитируемый пост)
Известными мне методами не хочет работать )))

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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Я так думаю, известных методов работы с ADO для тебя пока что просто не существует! smile Ну, судя по этому коду. Поюзай поиск по форуму на предмет сабжа...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Rodman
Дата 12.8.2008, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



вот

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  d.ace 14,42 Kb
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Teleport
Дата 12.8.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 Rodman - да, спасибо... Но это для нового значения... Мне 

нужно чтобы для выбранной строки в DBGRid.
Я вот как пробовал: 
Код

procedure TForm1.Button1Click(Sender: TObject);
 var
 pcolor: Tcolor;
 col_m: string;
begin
ColorDialog1.Execute;
pColor:= ColorDialog1.Color;
col_m:= ColorToString(pColor);
ADOQuery1.Active:= False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Update List set Color=' + col_m);
AdoQuery1.Active:= true;
 end;

Но опять не работает. В чем запрос не правильный?


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Rodman
Дата 12.8.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



Код

  if(ColorDialog1.Execute)then
  begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('UPDATE list set nomer=:Prm1, color=:Prm2 WHERE [Код]=:Prm3;');
    ADOQuery1.Parameters.ParamByName('Prm1').Value:='1';
    ADOQuery1.Parameters.ParamByName('Prm2').Value:=ColorToString(Colordialog1.Color);
    ADOQuery1.Parameters.ParamByName('Prm3').Value:=ADOTable1.Fields.Fields[1].AsInteger;
    ADOQuery1.ExecSQL;
end;


Это сообщение отредактировал(а) Rodman - 12.8.2008, 21:26
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Данкинг
Дата 12.8.2008, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Код

ADOQuery1.SQL.Add('Update List set Color="' + col_m+'"');



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 12.8.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 Rodman - неа... ошибку выдает - ADOQuery1: Parametr 'Prm1' not found. При выполнении программы. 

2 Данкинг  в синтаксисе ошибку ты исправил, согласен, но при выполнении пролграммы та же ошибка вылетает, что и раньше ))))


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 12.8.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Teleport @  12.8.2008,  23:19 Найти цитируемый пост)
но при выполнении пролграммы та же ошибка вылетает, что и раньше

Какая ошибка-то хоть?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 12.8.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 Данкинг - Missing Connection or ConnectionString. Но это уже не важно, я думаю. Так как Rodman предложил по-другому немного. А в его варианте уже совнршенно другая ошибка. Не думал, что изменения в таблице сопряжены с такими сложностями...  smile 


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 13.8.2008, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Teleport @  13.8.2008,  00:18 Найти цитируемый пост)
в его варианте уже совнршенно другая ошибка. 

Я думаю, без строки подключения ты в любом случае ничего не сделаешь. smile У тебя AdoQuery привязан к AdoConnection вообще? smile 

А у Rodman вариант более грамотный, просто у меня примитивный пример без параметров.

Добавлено @ 00:28
Цитата(Teleport @  13.8.2008,  00:18 Найти цитируемый пост)
Не думал, что изменения в таблице сопряжены с такими сложностями... 

Знал бы ты, сколько я программ с подобными "изменениями" наваял. smile 

Посмотри

Это сообщение отредактировал(а) Данкинг - 13.8.2008, 00:43


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 14.8.2008, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 Данкинг - да, привязал к строке подключения, но это опять ничего не дало.
Вобщем, я помучался и нашел очень простое решение.  Без ADOQuery. Спасибо  за помощь.

Это сообщение отредактировал(а) Teleport - 14.8.2008, 10:04


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 14.8.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Teleport @  14.8.2008,  11:02 Найти цитируемый пост)
Вобщем, я помучался и нашел очень простое решение.  Без ADOQuery.

В смысле, а как??  Через
Код

adotable.fieldvalues['pole']:='ddddd';

что ли?

Это сообщение отредактировал(а) Данкинг - 14.8.2008, 15:56


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 14.8.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 Данкинг вот выкладываю код.
Код

procedure TForm1.DBMemo1Change(Sender: TObject);
begin
  DBMemo1.Color:= StringToColor(adotable1color.Value);
end;

// рабочее )))
procedure TForm1.Button1Click(Sender: TObject);
begin
  if  ColorDialog1.Execute then
  begin
    try
      with ADOTable1 do
      begin
        Edit;
        FieldByName('color').Value:=ColorToString(Colordialog1.Color);
        Post;
      end;
      DBMemo1.Color:=ColorDialog1.Color;
    except
    end;
  end;
end;

procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
begin
  DBMemo1.Color:=StringToColor(ADOTable1color.AsString);
end;



--------------------
user posted image
user posted image 
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.0568 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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