Текущий архив: 2008.04.13;
Скачать: CL | DM;
Вниз
Как создать "живой" SQL запрос? Найти похожие ветки
← →
MegaPiha © (2008-03-12 20:32) [0]Мне нужно, чтобы получаемую путем SQL запроса таблицу можно было редактировать. Т.е. не редактировать в карточках (как обычно делается в БД) а непосредственно таблицу. Я использую ADOQuery. Таким образом получаю только выборку из БД, которую редактировать нельзя. Если использовать компонент ADOTable и выборку используя фильтры и lookup поля, то это очень долго.
← →
uniken1 © (2008-03-12 21:03) [1]Может попробовать использовать запросы Insert и Update?
← →
Johnmen © (2008-03-12 21:30) [2]А ещё есть такой класс, как TADODataSet, например...
← →
Германн © (2008-03-13 01:40) [3]
> MegaPiha © (12.03.08 20:32)
>
> Мне нужно, чтобы получаемую путем SQL запроса таблицу можно
> было редактировать. Т.е. не редактировать в карточках (как
> обычно делается в БД) а непосредственно таблицу.
В вопросе два слова "таблица". какую из них нужно редактировать?
В вопросе упоминается слово "карточках". Что имеется в виду?
← →
Германн © (2008-03-13 01:49) [4]
> Johnmen © (12.03.08 21:30) [2]
>
>
Да. И ещё класс TADOCommand. Помню святые заповеди Николая (очень чешется "схохмить" насчёт его ника, но обещал АП больше не поминать его ошибку :) и использую их соответственно.
Но к сабжу это какое отношение имеет, кроме упрека в использовании ADOQuery и ADOTable?
← →
Simpson (2008-03-13 06:58) [5]Результат Select"а ты напрямую не сможеш редактировать, для манипуляция данными используются запросы Insert, Update,Delete.
← →
Johnmen © (2008-03-13 09:06) [6]
> Германн © (13.03.08 01:49) [4]
Никакого :)
> Simpson (13.03.08 06:58) [5]
Не болтайте ерундой (с)
← →
Simpson (2008-03-13 09:20) [7]Johnmen © (13.03.08 09:06) [6]
Можно? Как?
← →
Johnmen © (2008-03-13 09:29) [8]
> Simpson (13.03.08 09:20) [7]
> Можно? Как?
TADOQuery+F1, методы Edit, Insert, Delete, Post.
← →
Simpson (2008-03-13 11:26) [9]Johnmen © (13.03.08 09:29) [8]
Действительно, век живи век живи, как поступят эти методы при выборе из view?
Эти методы как нибудь относяться к SQL?
А используют ли эти методы запросы DML?
← →
Johnmen © (2008-03-13 11:41) [10]
> Simpson (13.03.08 11:26) [9]
1. Про вью автор ветки что-то говорил? Нет. Но если тебе интересно, можешь попробовать.
2. Отношение этих методов к SQL как-то относится к теме ветки?
3. Что значит "используют"?
ЗЫ
Обращаю внимание на
Simpson (13.03.08 06:58) [5]
Результат Select"а ты напрямую не сможеш редактировать
Johnmen © (13.03.08 09:06) [6]
Не болтайте ерундой (с)
Simpson (13.03.08 09:20) [7]
Можно? Как?
Johnmen © (13.03.08 09:29) [8]
TADOQuery+F1, методы Edit, Insert, Delete, Post.
Тебя здесь что-то смущает? Или здесь что-то неверно?
← →
MegaPiha © (2008-03-13 20:30) [11]Постараюсь по порядку.
> uniken1 © (12.03.08 21:03) [1]
> Может попробовать использовать запросы Insert и Update?
Не понимаю как это можно реализовать. :/ Может приведешь какой нибудь простенький пример?
> Johnmen © (12.03.08 21:30) [2]
> А ещё есть такой класс, как TADODataSet, например...
А как им пользоваться? У меня и куча книг и нигде не могу найти конкретно как это делается.
> Германн © (13.03.08 01:40) [3]
> В вопросе два слова "таблица". какую из них нужно редактировать?
> В вопросе упоминается слово "карточках". Что имеется в виду?
Я делаю запрос, с соединением семи таблиц. Хочу редактировать результат выборки и при этом чтобы в этих таблицах автоматически вносились соответствующие изменения.
← →
Simpson (2008-03-13 22:10) [12]MegaPiha © (13.03.08 20:30) [11]
Напиши хранимую процедуру с БД.
Поищи книгу Мартина Грубера про SQL она в сети есть у тебя траблы с SQL в первую очередь, а не с ADO.
← →
Игорь Шевченко © (2008-03-14 00:19) [13]
> Я делаю запрос, с соединением семи таблиц. Хочу редактировать
> результат выборки и при этом чтобы в этих таблицах автоматически
> вносились соответствующие изменения.
Что, во все семь ?
← →
Германн © (2008-03-14 01:23) [14]
> MegaPiha © (13.03.08 20:30) [11]
>
> > Германн © (13.03.08 01:40) [3]
> > В вопросе два слова "таблица". какую из них нужно редактировать?
>
> > В вопросе упоминается слово "карточках". Что имеется в
> виду?
> Я делаю запрос, с соединением семи таблиц. Хочу редактировать
> результат выборки и при этом чтобы в этих таблицах автоматически
> вносились соответствующие изменения.
>
Это не BDE. Тут очень многое работает иначе. Автоматы тут не приветствуются.
← →
MegaPiha © (2008-03-14 19:08) [15]> Simpson (13.03.08 22:10) [12]
>MegaPiha © (13.03.08 20:30) [11]
>Напиши хранимую процедуру с БД.
Дико извиняюсь. Что значит хранимую процедуру? Сам запрос SQL? Если так то вот он.
With DataModule1.MainQ_poisk do begin
Close;
SQL.Clear;
SQL.Add("SELECT main.id, tip.tip, name.name, main.nomer, main.datavyp, main.dataeks, ");
SQL.Add("raion.raion_name, podrazd.podr_name, main.place, main.protspis, ");
SQL.Add("main.dataspis, main.inputdate, main.notes, main.utrata, main.spisan, main.invNomer, ");
SQL.Add("main.dataobnovl, main.osnovanie");
SQL.Add("FROM main,tip,name,podrazd, raion ");
SQL.Add("WHERE main.tip_id = tip.tip_id ");
SQL.Add("AND name.tip_id = tip.tip_id ");
SQL.Add("AND main.name_id = name.name_id ");
SQL.Add("AND podrazd.podr_id = main.podrazd_id ");
SQL.Add("AND raion.raion_id = main.raion_id ");
А потом всякие дополнительные условия...
>Поищи книгу Мартина Грубера про SQL она в сети есть у тебя траблы с SQL в >первую очередь, а не с ADO.
Спасибо. Скачал книгу. Начну изучать.
>
> Игорь Шевченко © (14.03.08 00:19) [13]
>
> Что, во все семь ?
Вообще то в одну, главную. Остальные - справочники.
> Германн © (14.03.08 01:23) [14]
>
>
> > MegaPiha © (13.03.08 20:30) [11]
> >
> > > Германн © (13.03.08 01:40) [3]
> > > В вопросе два слова "таблица". какую из них нужно редактировать?
>
> >
> > > В вопросе упоминается слово "карточках". Что имеется
> в
> > виду?
> > Я делаю запрос, с соединением семи таблиц. Хочу редактировать
> > результат выборки и при этом чтобы в этих таблицах автоматически
> > вносились соответствующие изменения.
> >
>
> Это не BDE. Тут очень многое работает иначе. Автоматы тут
> не приветствуются.
>
Так как же мне быть? Переходить на BDE?
← →
Игорь Шевченко © (2008-03-14 21:21) [16]MegaPiha © (14.03.08 19:08) [15]
> Вообще то в одну, главную. Остальные - справочники.
Грешным делом, ADO не знаю и дел с ним не имею, но что-нибудь вроде UpdateObject у него есть ? (нехай меня местные знатоки поправят), так, чтобы при выполнении методов Insert, Edit, Delete и Post вызывался специально написанный SQL ?
← →
Johnmen © (2008-03-14 22:56) [17]
> MegaPiha © (14.03.08 19:08) [15]
> Вообще то в одну, главную. Остальные - справочники.... есть такой способ - динамическое
(с) http://www.delphikingdom.com/asp/viewitem.asp?catalogid=420&mode=print
свойство - "Unique Table"
читать всю статью :)
← →
MsGuns © (2008-03-15 20:28) [18]>Игорь Шевченко © (14.03.08 21:21) [16]
>Грешным делом, ADO не знаю и дел с ним не имею
Бог простит ;)
← →
MegaPiha © (2008-03-16 19:02) [19]
> Johnmen © (14.03.08 22:56) [17]
>
>
> > MegaPiha © (14.03.08 19:08) [15]
> > Вообще то в одну, главную. Остальные - справочники.
>
>
> ... есть такой способ - динамическое
> свойство - "Unique Table" (с) http://www.delphikingdom.com/asp/viewitem.
> asp?catalogid=420&mode=print
> читать всю статью :)
Похоже то что надо!! Попробую использовать. Спасибо.
← →
uniken1 © (2008-03-16 22:13) [20]
> Не понимаю как это можно реализовать. :/ Может приведешь
> какой нибудь простенький пример?
Например
update Table1 set Field1=:Param1, Field3=:Param2 where Field_ID=:Param3
Делее варианты, параметры или собственный конструктор запросов по желанию. В качестве условия лучше искользовать ключевое поле типа Field_ID, его ты сам получаешь в запросе select, а получить для запроса update можно например с помощью FieldByName
← →
MegaPiha © (2008-03-17 20:02) [21]Всем огромное спасибо! Особенно Johnmen-у. Все заработало.
Только как всегда, когда, что то получается возникают новые вопросы.
Не умею как следует работать с ADODataSet. Я сделал у себя по аналогии с примером статьи. А как допустим реализовать кнопку "сохранить" или "удалить" работая с ADODataSet. А то навигатор не все задумки позволяет выполнить.
← →
Ega23 © (2008-03-17 20:55) [22]
> Действительно, век живи век живи, как поступят эти методы
> при выборе из view?
Триггер на View?
Страницы: 1 вся ветка
Текущий архив: 2008.04.13;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.008 c