Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не удается проапдейтить запись БД-access [D5, access]


Леонид ©   (2004-09-27 14:30:00) 

Нужно запись на которой стоит курсор изменить... При нажатии на кнопку у меня появляется форма с теми полями которые можно изменить. В едиты выводится текущее значение строки...Обычно изменяется 1-2 буквы. Пробовал писать так..
Form1.ADOQuery1.SQL.Add('UPDATE Kods set Gorod = "Edit1.text" where Gorod = "Edit1.text"');
Так не работает. Попробовал ради интереса код что ниже указан, тоже не работает. Подскажите пожалуйста как нужно.

Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add('UPDATE Kods set Gorod = "Абазовка1" where Gorod = "Абазовка"');

Form1.ADOQuery1.Active:=false;
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add('SELECT * FROM Kods');
Form1.ADOQuery1.Active:=true;


Леонид   (2004-09-28 14:27:00) [1]

Что за предположение. Программа работает просто. При запуске происходит коннект к БД и в гриде отображается вся база.
Если можно по подробней...я ведь только начинаю.


sniknik   (2004-09-28 14:20:00) [2]

> Если кому трудно помочь кодом
;о) было бы чем

> А изменить запись не получается.
что очень странно, в [4] все верно. (если оно в реале именно так как сдесь написано)

вариант при котором может не сработать(предположение) описан в [8]... или подтверди или опровергни, о чем можно дальше говорить если начала нет?


Леонид   (2004-09-28 13:56:00) [3]

Kods - таблица.
Если кому трудно помочь кодом, подскажите пож. ссылки...может кто знает-видел подобный пример в интернете (статья, исходники)

А то вообщем все готово в программе. А изменить запись не получается.


aus   (2004-09-27 20:47:00) [4]

>SELECT * FROM Kods
Что такое у тебя Kods?
Если это процедура с параметрами, то их и не хватает.


msguns   (2004-09-27 15:26:00) [5]

Вот-вот...
И будет дальше еще хуже ;)
Пока не появится внятное понимание что есть ИЗВЛЕЧЕНИЕ данных, а что ИЗМЕНЕНИЕ их. Датасет, вещь, конечно, универсальная, но для ПОНИМАЮЩИХ. А поначалу лучше, ИМХО, все же котлеты отдельно, мухи отдельно.. (В смысле читать одними компонентами, писать-другими)


Наталия   (2004-09-27 15:12:00) [6]

> ну параметров сдесь положим то нету
Так я и предлагаю их сделать и передавать значения в запрос через параметры :))


sniknik   (2004-09-27 15:09:00) [7]

ну параметров сдесь положим то нету. может так ругатся только если чтото за них примет (ошибка). а может у тебя есть уже предопределенные в компоненте, а внесение запроса их почемуто не "сбивает".

> Может ADOCommand нужно использовать?
вобще это правильней, ADOCommand для невозвращаюших рекордсет запросов и ADODataSet для возвращающих.
но это к тому почему неработает не относится (случится там тоже самое может), а замена может помочь только потому что компанент "чистый" без забытого там мусора в виде параметров.


Наталия   (2004-09-27 14:59:00) [8]

Про параметры почитай...


Леонид   (2004-09-27 14:58:00) [9]

Все равно ругается. Может ADOCommand нужно использовать?
Кто-как апдейтит БД акцессовскую.


sniknik   (2004-09-27 14:52:00) [10]

попробуй, " замени на ''


Леонид   (2004-09-27 14:48:00) [11]

Добавил

Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add('UPDATE Kods set Gorod = "Абазовка1" where Gorod = "Абазовка"');

Form1.ADOQuery1.ExecSQL;

Form1.ADOQuery1.Active:=false;
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add('SELECT * FROM Kods');
Form1.ADOQuery1.Active:=true;
Ругается, что слишком мало параметров...


Плохиш   (2004-09-27 14:41:00) [12]

Но лучше почитать теорию


sniknik   (2004-09-27 14:40:00) [13]

> код что ниже указан, тоже не работает. Подскажите пожалуйста как нужно.
ты не запускаеш апдейт на выполнение. ExecSql


Наталия   (2004-09-27 14:39:00) [14]

1) Запрос нужно ведь ещё выполнить, чего у тебя не наблюдается
:))
2) Попробуй использовать параметры в запросе - должно помочь


Наверх

Титульная страница Поиск, карта сайта Написать письмо