Форум: "Базы";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];
ВнизНе удается проапдейтить запись БД-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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c