Форум: "Начинающим";
Текущий архив: 2009.08.02;
Скачать: [xml.tar.bz2];
ВнизРеальные данные вместо ссылок Найти похожие ветки
← →
bagos (2009-04-02 15:52) [0]Всем здрасте, делаю базу на firebird и клиент на delphi.
Запнулся на след. месте. есть таблица со ссылками на другие таблицы. т.е. в таблицы одни циферки являющиеся id в других таблицах. Для пользователя это не очень удобно будет;)))
Как мне вывести информацию чтобы вместо ссылок пользователь видел реальные данные. Использую fibdatabase,fibdataset,datasource,dbgrid
← →
stas © (2009-04-02 15:56) [1]Это вобще основы БД.
объединение таблиц на сервере (JOIN). либо подстановочные поля использовать.
← →
Sergey13 © (2009-04-02 15:56) [2]Запросом. Или лукап полями.
← →
bagos (2009-04-02 16:31) [3]select stu_specializations.name from stu_nagruzka inner join stu_specializations on stu_specializations.id = stu_nagruzka.spec_id
выводит что надо, но мне нужны и другие столбцы, запутался в синтаксисе.
select stu_specializations.name,stu_form.name from stu_nagruzka inner join stu_specializations on stu_specializations.id = stu_nagruzka.spec_id and stu_form on stu_form.id = stu_nagruzka.form_id
← →
Ega23 © (2009-04-02 16:50) [4]
select A.Name, B.Type, C.SomethingElse
from ATable A inner join BTable B on (A.BID=B.ID)
inner join CTable C on (B.CID=C.ID)
where
....
order by ...
← →
bagos (2009-04-02 17:07) [5]спасибо большое, но уже допер)))
← →
kliver (2009-06-05 12:37) [6]у меня в гриде отображаются 2 таблицы внутренним соединением соединеные в одну. в принципе все для счастья есть в одной таблице, просто наименования работ в другой хранятся и не удобно использовать числовые ID работ. Поэтому использовал внутреннее соединение. НО при попытке просто изменить данные в гриде или вставить запись выдает ошибку "Недостаточно сведений ключевого поля для обновления". Как сделать так чтобы данные в гриде прямо менять можно было?
← →
Павел Калугин © (2009-06-05 14:18) [7]
> kliver (05.06.09 12:37) [6]
Ние стоит так делать (редактировать в гриде) без крайней необходимости
← →
MsGuns © (2009-06-05 14:53) [8]Можно, но хитро. Например, используя вместо TIBDataSet TClientDataSet и запросы (лучше хранимки на сервере) с параметрами
← →
Ega23 © (2009-06-05 15:15) [9]Ну понеслось....
Давайте ещё C++ vs Delphi сюда приплетём...
← →
MsGuns © (2009-06-05 15:21) [10]А как ты предлагаешь средствами IBX редактировать нередактируемый датасет ?
← →
Sergey13 © (2009-06-05 16:05) [11]> [10] MsGuns © (05.06.09 15:21)
Сделать его редактируемым.
← →
set1212 (2009-06-09 06:37) [12]>у меня в гриде отображаются 2 таблицы внутренним соединением >соединеные в одну. в принципе все для счастья есть в одной таблице, >просто наименования работ в другой хранятся и не удобно использовать >числовые ID работ. Поэтому использовал внутреннее соединение. НО при >попытке просто изменить данные в гриде или вставить запись выдает >ошибку "Недостаточно сведений ключевого поля для обновления". Как >сделать так чтобы данные в гриде прямо менять можно было?
Программа не понимает, какую именно таблицу надо редактировать, для этого в событии AfterOpen напишиши следующее
дата сет.Properties["Unique Table"].Value:= "Таблицу которую хочешь отредактировать";
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.08.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c