Текущий архив: 2002.06.27;
Скачать: 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 вся ветка
Текущий архив: 2002.06.27;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c