Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
ВнизВопрос по TQuery... Найти похожие ветки
← →
Olfi (2002-01-03 15:29) [0]Через TQuery можно редактировать БД или только просматривать её содержимое?
← →
Delirium (2002-01-03 15:38) [1]Можно
← →
Jony (2002-01-03 15:58) [2]Можно, если запрос составлен только по одной таблице.
← →
Fareader (2002-01-03 16:26) [3]Добавлю к сказаному Jony : если свойство RequestLive=true у TQuery
← →
Olfi (2002-01-03 18:00) [4]Т. е., если свойство RequestLive=true у TQuery, то можно изменять БД?
← →
Fareader (2002-01-03 18:26) [5]Да, но учти в запросе не должно быть сортировок, группировок, сумм, среднего арифметического... и прочей ерунды. если без этих прелестей жить нельзя, то прийдется TQuery подключать к TUpdateSQL, а там уже можно.
← →
evgeg (2002-01-03 22:24) [6]Вы забыли о том, что с помощью Query можно выполнять
sql-команды - т. е. делать с базой практически все,
что угодно.
← →
Turalyon (2002-01-04 08:35) [7]2Olfi
Я обычно работаю со всеми БД как раз через Query, для изменения баз данных использую кешированные обновления (Cached Updates) через компонент UpdateSQL. Почитай про эти самые обнавления.
← →
TonnyS (2002-01-04 12:01) [8]Вообще-то вопрос был про редактирование БД, а не изменение БД из DBgrid, например. Изменять БД запросом можно с помощью операторов DELETE, INSERT, UPDATE. Подробнее можно прочитать:
Пуск-Программы-Borland Delphi5-Help-Borland Database Engine-Local SQL Guide. (думаю, в других версиях аналогично, файл:localsql.hlp).
← →
Davojan (2002-01-04 12:05) [9]Соглашусь с последним советом. Самый удобный вариант - это через компонент UpdateSQL, т.к. он не накладывает никаких ограничений: можно использовать с любым запросом. Поэтому читай Help по этому компоненту, там всё подробно сказано, лично я разбирался с этим именно через Help.
Удачи.
← →
Olfi (2002-01-04 12:29) [10]Т. е. в самой таблице редактировать БД нельзя, можно только , используя SQL. Правильно я понимаю? Но что можно сделать, чтобы редактировать БД в самой таблице, как в TTable? (без SQL)
← →
TonnyS (2002-01-04 12:47) [11]можно, при RequestLive := true а также условиях, перечисленных
Fareader © (03.01.02 18:26)
← →
Val (2002-01-04 12:47) [12]>Olfi (04.01.02 12:29)
Читай ответы-TUpdateSQL-это компонент а не диалект SQL.
А как ты собираешься еще работать с Query, если он специально сделан для прописывания команд SQL?
← →
Olfi (2002-01-04 16:08) [13]Я делал RequestLive := true , и всё равно в редактировать БД не получалось из таблицы... SQL тут не совсем подходит.. А может я просто не совсем понимаю, как его тут можно использовать, т. к. мне необходимо изменить значение определённой записи, где Select не подходит.
← →
Fareader (2002-01-04 16:11) [14]Брось сюда запрос из TQuery
← →
Olfi (2002-01-04 16:50) [15]До меня кажется дошло.. :) . Вообщем всё делает, только я не могу понять, почему выдаёт ошибку "Update Failed". Изменяет строки и говорит об ошибке... - бред какой-то! :( Может код неправильный? Вот он...
sql1.InsertSQL.Clear;
sql1.InsertSQL.add (" UPDATE "e:\sklad\02012002.db" SET nalichie = 100 ");
query1.close;
sql1.ExecSQl (ukinsert);
query1.open;
Результат: в поле заполняет все строки знач. 100.
← →
Fareader (2002-01-04 17:12) [16]Подожди, ты в свойстве UpdateObject у Query указал свой TUpdateSQL ? Если да, то щелкни по компоненту TUpdateSQL - откроется формочка, в ней будут столбцы, которые подлежат изменению, если тебя там все устраивает, то жми Generate SQL - он автоматически генерирует запросы на добавление, изменение и удаление. А на AfterPost поставь:
Dataset.applyupdates;
Dataset.commitupdates;
Хотя это и не самое лучшее решение.
А вообще я просил запрос на select
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c