Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Не удается проапдейтить запись БД-access   Найти похожие ветки 

 
Леонид   (2004-09-27 14:30) [0]

Нужно запись на которой стоит курсор изменить... При нажатии на кнопку у меня появляется форма с теми полями которые можно изменить. В едиты выводится текущее значение строки...Обычно изменяется 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-27 14:39) [1]

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


 
sniknik ©   (2004-09-27 14:40) [2]

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


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

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


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

Добавил

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;
Ругается, что слишком мало параметров...


 
sniknik ©   (2004-09-27 14:52) [5]

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


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

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


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

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


 
sniknik ©   (2004-09-27 15:09) [8]

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

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


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

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


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

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


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

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


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

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

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


 
sniknik ©   (2004-09-28 14:20) [13]

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

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
4-1095617016
Dolphni1
2004-09-19 22:03
2004.10.24
desktop themes changes


1-1097495526
woker
2004-10-11 15:52
2004.10.24
Как показать окно чтобы фокус остался у прежнего окна?


1-1097044310
clampo
2004-10-06 10:31
2004.10.24
Текст на лабеле


14-1096700781
[NIKEL]
2004-10-02 11:06
2004.10.24
Всем привет!


14-1097072739
infom
2004-10-06 18:25
2004.10.24
Где взять функция, которая парсит запрос ?