|
Вопрос # 3 080/ вопрос открыт / |
|
Здравствуйте уважаемые эксперты!
Подскажите пожалуйста,
как отобразить все столы (ClientDataSet) в одной таблице (DBGrid),
а именно:
есть стол "А" (ClientDataSetA),
который имеет два поля ("А1" и "А2") и
есть стол "В" (ClientDataSetB),
который имеет три поля ("В1", "В2" и "В3").
Пытался через DataSourse но без результатно.
 |
Вопрос задал: 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 (статус: Посетитель), 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 (статус: Посетитель), 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 (статус: Посетитель), 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 (статус: Посетитель), 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]:
давайте белое назовем черным, зеленым или желтым, но только не белым - остальные всё равно догадаются. приблезительно так можно истолковать предыдущее сообщение.
" шлифует компонент" что он делает???
А теперь по вопросу. Нельзя объеденить две таблицы, если они неоднотипные или у них нет поля для связи.
"приложить одну к другой" - я так понимаю вопрос - тоже нельзя без поля связи.
Многие начинающие программисты баз данных не понимают, что в неотсортированной таблице нельзя говорить о порядке записей (это первая, это вторая) - это одно с основополагающих понятий.
Именно по этой причине спрашивали структуру таблицы, связь полей.
Сложно компетентно отвечать на вопрос, который задан некомпетентно и автор вопрос даже не пытается понять, почему ему не хотят отвечать.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|