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

Вниз

модификация данных из двух запросов в ADO   Найти похожие ветки 

 
DimonNew   (2004-11-02 18:27) [0]

Привет, подскажите пож-та. Есть запрос:
select Key, Name, gtc_DayRemain, gtc_Key from Country
left outer join GorTurCountry on (gtc_Key=_Key)
order by Name

В Дельфи выводиться этот запрос в таблицу DBGrid с двумя столбцами Name и gtc_DayRemain. Как в данном случае модифицировать данные таблицы GorTurCountry используя ADO, при этом данные из таблицы tbl_Country менять нельзя? Или нельзя редактировать данные в ADOQuery, если он сосотоит из более олного запроса?


 
msguns ©   (2004-11-02 18:38) [1]

Возвращающий курсор TADOQuery не предназначен для редактирования.


 
malamba   (2004-11-02 18:48) [2]

В реальности таблицы, получаемой в результате этого запроса, в базе не существует.
Данные напрямую изменить не удасться.

Что значит редактировать данные в ADOQuery?
Данные можно модифицировать при помощи UPDATE, INSERT  и т.п.,
а таблица получается в результате запроса SELECT, который не влияет на набор данных.

В этом случае, ИМХО, нужно делать обработку событий DBGrid - а и в них уже вызывать UPDATE, INSERT и т.д.


 
msguns ©   (2004-11-02 18:52) [3]

>malamba   (02.11.04 18:48) [2]
>В реальности таблицы, получаемой в результате этого запроса, в базе не существует.
Данные напрямую изменить не удасться.

Если под "напрямую" имеется в виду, что с помощью одного компонента, то неправда Ваша. Очень даже удастся. Правда только в одной (любой) таблице.


 
DimonNew   (2004-11-02 19:00) [4]

Спасибо за подсказки.


 
DimonNew   (2004-11-02 19:01) [5]

Спасибо за подсказки.


 
AleKo   (2004-11-03 03:13) [6]

Пример работы через ADO c Access. Может получится и у Вас.

ADOData.ADODSSchOrg.Properties["Unique Table"].Value:="OrgSch"

Запрос с которым работаем

SELECT OrgSch.idOrgSch, OrgSch.idOrg, OrgSch.idSch, S_Schot.idBudg, S_Schot.Schot, S_BANK.BIK, S_BANK.SNAME
FROM (OrgSch LEFT JOIN S_Schot ON OrgSch.idSch = S_Schot.idSch) LEFT JOIN S_BANK ON S_Schot.idBank = S_BANK.idBnk;


 
Lamo   (2004-11-03 09:20) [7]

Господи, какой бред! ([1],[2],[13)
Конечно можно редактировать такой recordset и даже более того - ADO будет обновлять данные во всех исходных таблицах, в которых сможет!
Беда в том, что ему очень трудно помешать это сделать:
http://www.sql.ru/forum/actualthread.aspx?tid=125696


 
malamba   (2004-11-03 10:38) [8]

Время от времени полезно чувствовать себя полным чайником.
Не дает рассслабиться.

Lamo, дружище. Поклон Вам. Киньте ссылку на интересную нестандартную полную инфу об ADO. Если есть на родном языке - особое спасибо.


 
Lamo   (2004-11-03 11:38) [9]

Блин, да сам не могу найти!
Во всяких популярных статьях типа (см. также предыдущ. и след. часть):
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/helloworld/ado02.htm
все просто, а как столкнешься с чем-то чуть посложнее - и все, привет! И ищешь по крохам и сам эксперементируешь (типа, а теперь ты сверху а я снизу...)
Увы...


 
malamba   (2004-11-03 12:13) [10]

Полностью солидарен...



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
1-1100511356
Yorik
2004-11-15 12:35
2004.11.28
Как проверить только ли латинские символы в переменной?


14-1100076066
Игорь Шевченко
2004-11-10 11:41
2004.11.28
Идти ли в IT или о перспективах программистов


14-1100244846
ArMellon
2004-11-12 10:34
2004.11.28
Какой модем лучше?


1-1100499538
V'ent
2004-11-15 09:18
2004.11.28
Как прочитать и записать файл побайтно и при этом видеть ход!


3-1099174955
Field
2004-10-31 02:22
2004.11.28
Помогите с подключением базы данных!!!!!!!!