Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
8-1195925774
DmT
2007-11-24 20:36
2009.08.02
Как разместить объекты


15-1244061366
Юрий
2009-06-04 00:36
2009.08.02
С днем рождения ! 4 июня 2009 четверг


2-1244028786
madmech
2009-06-03 15:33
2009.08.02
Неправильно всплывает хинт


15-1243888204
Юрий
2009-06-02 00:30
2009.08.02
С днем рождения ! 2 июня 2009 вторник


15-1242296673
Sergey Masloff
2009-05-14 14:24
2009.08.02
Ну вот и привет зрению... :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский