Вниз
Скачать: CL | DM;

Изменения в связанных таблицах   Найти похожие ветки 

← →
Abu   (2002-06-04 10:41) [0]

Есть ADODataSet1 c CommandText, н-р,
CommandText="SELECT A.BData Data, B.SName Nam FROM Basa1 A FULL JOIN Basa2 B ON A.ID_B2=B.ID"

Теперь если надо поменять значение в поле "Nam" DataSet-a - в базе меняется не A.ID_B2, а B.SName - поле справочника.
Если поменять значение поля A.ID_B2 через ADOCommand, то как обновить данные в DataSet-e? Ведь присваивание ADODataSet1.FieldByName("Nam").Value="..."
опять пытается изменить значение в справочнике.


← →
Abu   (2002-06-04 12:09) [1]

Ребят, что все так безнадежно? Или не понятно?


← →
Johnmen ©   (2002-06-04 12:21) [2]

Не очень понятно....
Какие компоненты (Data-Aware) используются ?


← →
Abu   (2002-06-04 12:55) [3]

Попробую сначала. Есть таблицы:
Base2 - (справочник)
ID SName
1 что-то1
2 что-то2
3 что-то3

и Base1 (использующая его)
BData ID_B2
01.01.01 1
02.01.01 3
05.05.02 1

В ADODataSet1 выбираются данные из Base1, но вместо ID_B2 подставляются значения SName из Base2:
ADODataSet1.CommandText="SELECT A.BData Data, B.SName Nam FROM Basa1 A FULL JOIN Basa2 B ON A.ID_B2=B.ID" (1)

Теперь что делать, если хочу изменить значение поля ID_B2 в Base1. Если меняешь соответствующее значение в ADODataSet1 (хоть программно, хоть вручную) - Delphi пытается поменять не ID_B2 в Base1, а SName в Base2. Если поменять значение в БД через запрос, с пом.ADOCommand н-р, то как обновить именно это значение в ADODadaSet1, или обязательно снова повторять выполнение запроса (1)?

А может я, вообще, неправильно делаю?



← →
Johnmen ©   (2002-06-04 13:02) [4]

>>>Если меняешь соответствующее значение в ADODataSet1 (хоть программно,...

А как меняешь то ?...


← →
wicked ©   (2002-06-04 13:13) [5]

2 Abu
скорей всего, неправильно... ;) подвязывай справочник не через full join, а средствами dataset, то есть через lookup-поля... с ними-то, надеюсь, умеешь работать?...


← →
Abu   (2002-06-04 13:14) [6]

ADODataSet1.FieldByName("Nam").Value :=ComboBoxK.Text;



← →
Johnmen ©   (2002-06-04 13:27) [7]

да, похоже тебе надо lookup-поля, см.wicked © (04.06.02 13:13)


← →
Abu   (2002-06-04 14:04) [8]

Спасибо.

>wicked ©
уже умею :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-88866
Good Man
2002-06-17 21:29
2002.06.27
Как получить TextRange конкретного фрейма в TWebBrowser?


1-88870
Bart
2002-06-14 11:55
2002.06.27
Помогите узнать версию exe файла!!!


3-88697
roadstar
2002-06-01 11:12
2002.06.27
TADOX


1-88908
I'm not a lamer not yet a hacker
2002-06-12 13:01
2002.06.27
Прошу мастеров ответить...


6-88979
SeyCom
2002-04-06 20:03
2002.06.27
Где можно найти пример работы с WinPCap на Delphi?




   Наверх