Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-8893
Gayrus
2002-01-15 16:51
2002.02.04
StringGrid save


6-8965
Вован
2001-11-11 13:18
2002.02.04
Download files - как вытащить файл, переданный из формы HTML


14-8993
savva
2001-12-17 10:37
2002.02.04
Интересно, а адолго ли умер сервер на Newmail.ru??


1-8930
yaJohn
2002-01-17 11:50
2002.02.04
Gde vziat self??? Vopros skoree po Object Pascal.


1-8950
Logo
2002-01-18 14:37
2002.02.04
Обработка ошибок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский