Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 080

/ вопрос открыт /

Здравствуйте уважаемые эксперты!

Подскажите пожалуйста,

как отобразить все столы (ClientDataSet) в одной таблице (DBGrid),

а именно:

есть стол "А" (ClientDataSetA),
который имеет два поля ("А1" и "А2") и

есть стол "В" (ClientDataSetB),
который имеет три поля ("В1", "В2" и "В3").

Пытался через DataSourse но без результатно.

gyhy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: gyhy (статус: Посетитель)
Вопрос отправлен: 10 августа 2009, 21:07
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 12 августа 2009, 19:35; участников в обсуждении: 3.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 10 августа 2009, 21:26 [#1]:

сделайте один SQL запрос для получения интересующей информации в одном Query (ADOQuery) и свяжите его с DataSource, а уже тот с DBGrid. Более подробно можно ответить, если сообщите структуру БД и что такое столы.
Вадим К

Вадим К (статус: Академик), 10 августа 2009, 21:37 [#2]:

Кол-во полей разное... а как вообще они между собой должны соединятся? ведь нельзя просто взять так два набора данных и отобразить в одном гриде.
Галочка "подтверждения прочтения" - вселенское зло.
gyhy

gyhy (статус: Посетитель), 10 августа 2009, 22:04 [#3]:

sorry,

есть стол "А" (ClientDataSetA),
который имеет два поля ("А1" и "А2") и

есть стол "В" (ClientDataSetB),
который имеет три поля ("А3", "А4" и "A5").

Стол "В" является продолжением вносимой информации по строке соответствия, - по ключу поля "А1"
Вадим К

Вадим К (статус: Академик), 10 августа 2009, 22:44 [#4]:

стол - это таблица?
Если я правильно понял, то будет такой запрос
select A.A1, A.A2, B.B2, B.B3 from A, B where A.A1 = B.B1
Галочка "подтверждения прочтения" - вселенское зло.
gyhy

gyhy (статус: Посетитель), 11 августа 2009, 20:46 [#5]:

"стол - это таблица?" ???

TClientDataSetA - стол ( Table )
TClientDataSetB - стол ( Table )
TDBGrid - таблица


Задача состоит так:

Есть стол "А", который имеет 80 полей из которых 10 - именные, а остальное второстепенные данные.

Я хочу 1-н стол разделить на два стола с позиции стабильных единых данных через объединяющую отдельную форму Добавить/Редактировать.

То-есть единая форма Добавить/Редактировать объединяет 2-а стола в одном DBGrid (DBGrid.ReadOnly := True).

procedure TForm1.DBGridClick(Sender: Object);
begin
EditForm.Show; // где EditForm - форма Добавить/Редактировать 2-х столов воедино
end;

В дальнейшем в разработке программы фигурирует 1-я часть стола "А"
gyhy

gyhy (статус: Посетитель), 11 августа 2009, 20:50 [#6]:

к Мережников Андрей,

что значит: "Более подробно можно ответить, если сообщите структуру БД и что такое столы. "?

Повторяю изначально вопроса, ...:

стол ClientDataSetA
стол ClientDataSetВ
в одном DBGrid

Стол "В" является продолжением вносимой информации по строке соответствия, - по ключу поля "А1"
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 12 августа 2009, 06:01 [#7]:

где Вы взяли такую терминологию?
БД - база данных
таблица - составная часть базы данных.- не надо путать с DBGrid!!!
структура БД - как хранятся данные в БД - какие таблицы составляют БД, какие поля в таблицах, как таблицы связаны между собой и т.д.

а вот, что такое "стол" - не встречал еще ни разу, ни в одной книге.
Вадим К

Вадим К (статус: Академик), 12 августа 2009, 10:22 [#8]:

Я знаю откуда такая терминология. Достаточно открыть словарик и посмотреть перевод слова table.

Цитата:

table
1) стол

to demmetriy
Пожалуйста, используйте общепринятую терминологию. Иначе будет очень сложно ответит на Ваш вопрос.

Цитата:

10 - именные, а остальное второстепенные данные

Нет в базе именных полей и второстепенных. Вот поля с первычным и вторичным ключом - есть. И все поля обязаны иметь имя, поэтому наверно они все "именные".

Цитата:

Я хочу 1-н стол разделить на два стола с позиции стабильных единых данных через объединяющую отдельную форму Добавить/Редактировать.

Воу.... первую часть ещё понял. Разделить, что бы потом соединить....
Автор, используй нормальные названия. Если не знаешь русских - напиши на английском/украинском (переведем и впишем русский вариант).
В противном случае будем считать троллем. Пока оно на это и похоже.
Галочка "подтверждения прочтения" - вселенское зло.
gyhy

gyhy (статус: Посетитель), 12 августа 2009, 18:43 [#9]:

Программисты практики обычно говорят:

"Главное практика - залог новых технологий, а не теория "

Для всех, кому не нравится слово "стол" (Table), я использую слово "компонент", надеюсь для особой логики земное теоретическое обоснования данного термина ясны участникам форума.

Повторяю вопрос, может ли кто мне помочь в данной проблеме:

Надо компоненты (а точнее их поля) TClientDataSet_1 (содержит 2 поля) и TClientDataSet_2 (содержит 3 поля) отобразить в компоненте TDBGrid_1.

Возможно Вы мысленно зададите мне вопрос:" почему не один компонент TClientDataSet_Main состоящий c 5-и полей, отображения которых шлифует компонент TDBGrid_1 (типа, отобразить определенные поля, как это в общем и принято)." Я Вам отвечу в слух: " Я хочу так как я хочу и так это будет в любом случае независимо от того как это сделать, но оно будет".

Подвожу итоги:

Если Вы не компетентны в данном вопросе, то убедительная просьба воздержитесь от глупых высказываний, толку мало.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 12 августа 2009, 19:33 [#10]:

дело не в "нравится, не нравится", а в общепризнанной терминологии. Прежде, чем заниматься практикой, не мешало бы подучиться в теории, а не обвинять других в глупости. Используя термин "компонент", уходите еще дальше от сути.
"Я Вам отвечу в слух: " Я хочу так как я хочу и так это будет в любом случае независимо от того как это сделать, но оно будет"." - хотеть не вредно, вредно - не хотеть. Но связать два компонента TClientDataSet с одним TDBGrid - не получится, хоть лоб расшибите. Катайтесь лучше на мотоцикле...безопаснее и мозги напрягать не надо теорией
Вадим К

Вадим К (статус: Академик), 12 августа 2009, 19:35 [#11]:

давайте белое назовем черным, зеленым или желтым, но только не белым - остальные всё равно догадаются. приблезительно так можно истолковать предыдущее сообщение.
" шлифует компонент" что он делает???
А теперь по вопросу. Нельзя объеденить две таблицы, если они неоднотипные или у них нет поля для связи.
"приложить одну к другой" - я так понимаю вопрос - тоже нельзя без поля связи.
Многие начинающие программисты баз данных не понимают, что в неотсортированной таблице нельзя говорить о порядке записей (это первая, это вторая) - это одно с основополагающих понятий.
Именно по этой причине спрашивали структуру таблицы, связь полей.

Сложно компетентно отвечать на вопрос, который задан некомпетентно и автор вопрос даже не пытается понять, почему ему не хотят отвечать.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:55
Выполнено за 0.03 сек.