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

Вниз

Вопрос по 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
14-8989
fliz
2001-11-30 11:42
2002.02.04
после установки Дельфи5 вместо иконок компонентов какой-то мусор.Лечится?


1-8933
Анатолий
2002-01-17 05:27
2002.02.04
Размеры шрифтов


1-8939
Socol
2002-01-18 07:14
2002.02.04
Поиск файла


1-8824
MJH
2002-01-19 18:17
2002.02.04
AnimatedMenus2000


1-8923
Valdemar
2002-01-16 12:36
2002.02.04
Как оставить приложение без окна выполнятся до окончания работы Windows?