|
|
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста как правильно делать? Обычно я формирую отчет SQL запросом и вывожу его на форму пользователю и дальше он сам. Но сейчас встал вопрос о том что пользователю необходимо детализировать отчет по клику на строке. Но у меня там могут быть двойные данные - то есть допустим в конторе 2 Ивановых и когда пользователю нужно сформировать детальный отчет по одному из них - кого брать? Выводить ID не вариант - на форме этого не предусмотрено, к тому же отчет большой, могут дублироваться несколько полей и к каждому ID не проставишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 07:14 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOKПодскажите пожалуйста как правильно делать? Обычно я формирую отчет SQL запросом и вывожу его на форму пользователю и дальше он сам. Но сейчас встал вопрос о том что пользователю необходимо детализировать отчет по клику на строке. Но у меня там могут быть двойные данные - то есть допустим в конторе 2 Ивановых и когда пользователю нужно сформировать детальный отчет по одному из них - кого брать? Выводить ID не вариант - на форме этого не предусмотрено, к тому же отчет большой, могут дублироваться несколько полей и к каждому ID не проставишь. Полученные данные и Отображаемые данные: это две очень больших разницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 08:44 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
а если я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на форму - так нормально будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 08:52 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOKа если я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на форму - так нормально будет? Конечно нормально. Тем более когда в конторе два Ивановых а выводить Id не вариант. А что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 09:13 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOKесли я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на формуА зачем здесь MemTable? Что мешает выводить сразу Query? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 12:40 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_qwertEHOKесли я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на формуА зачем здесь MemTable? Что мешает выводить сразу Query? в Query у меня полные данные - то есть со всеми ID я вывожу данные пользователю и закрываю Query - все. Данных нет. Нужно где то все хранить. нашел еще один вариант - хранить, например RowNumber, в ListItem.Data ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 13:57 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOKнашел еще один вариант - хранить, например RowNumber, в ListItem.Data Храни сразу ID... RowNumber - это путь граблей и непонятного поведения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:04 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
DarkMasterqwertEHOKнашел еще один вариант - хранить, например RowNumber, в ListItem.Data Храни сразу ID... RowNumber - это путь граблей и непонятного поведения. согласен, но если их несколько? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:07 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOK, Несколько чего? Записей? Смотри - у тебя есть что-то в ListBox/ListView (строка). Тебе нужно по клику на строке развернуть детальный отчет - вот и храни в Item`e ID, который тебе поможет развернуть детальный отчет. Если 1 integer (aka ID) тебе не хватает - храни несколько ID в своей структуре (Item.Data у тебя указатель). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:19 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
DarkMasterqwertEHOK, Если 1 integer (aka ID) тебе не хватает - храни несколько ID в своей структуре (Item.Data у тебя указатель). что имелось ввиду? допустим у меня в отчете 2 заказчика Ивановых (id 100500 и 100600) и 2 Исполнителя Петровых (id 500100 и 600100) мне в каждую Data пихать строку '100500|500100' и потом делить? или создавать структуру, писать туда данные .... и тд и тп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:25 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOK, Давай по пунктам? 1) У тебя есть заказчик Иванов (от 1 до N). Иванова идентифицирует его ID = 123456 2) По клике на этого заказчика - тебе нужно показать исполнителя Петрова (которых у тебя тоже от 1 до N). 3) Чтобы это сделать, тебе достаточно попросить у БД "а покажи мне исполнителей у заказчика с ID=123456". В общем или рассказывай все подробно, с примерами того, какие данные у тебя есть (получаешь из TQuery изначально) и какие данные тебе еще нужно показать или мы тут до второго пришествия свои телепатометры насиловать будем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:39 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
DarkMasterqwertEHOK, В общем или рассказывай все подробно, с примерами того, какие данные у тебя есть (получаешь из TQuery изначально) и какие данные тебе еще нужно показать или мы тут до второго пришествия свои телепатометры насиловать будем :) есть объект1, заказчик Иванов(100500), исполнитель Петров(500100) есть объект2, заказчик Иванов(100600), исполнитель Петров(600100) пользователю по клику формируется подменю - информация по объекту (получаю название объекта - строю отчет) нужно добавить еще "информацию по заказчику", "информация по исполнителю" .. полей по объекту в реальном отчете намного больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:47 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
[quot qwertEHOK]DarkMasterqwertEHOK, пользователю по клику формируется подменю - информация по объекту (получаю название объекта - строю отчет) нужно добавить еще "информацию по заказчику", "информация по исполнителю" .. полей по объекту в реальном отчете намного больше Ну запихай себе в стуктуру что-то такое: PMyData=^TMyData; TMyData=packed record ID_1 : integer; .... ID_NNN: integer; end; А сам указатель на структуру - засунь в Item.Data. Потом по клику - выбирай нужный ID и показывай данные. Это если уж очень нужно именно в ListView показывать. Если не нужно - просто скрой ненужные поля в гриде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 14:55 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
DarkMasterНу запихай себе в стуктуру что-то такое: спасибо, попробую DarkMasterЕсли не нужно - просто скрой ненужные поля в гриде. интересный способ - выставишь ширину колонки в 0))) спасибо всем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 15:04 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
qwertEHOKDarkMasterЕсли не нужно - просто скрой ненужные поля в гриде. интересный способ - выставишь ширину колонки в 0))) Это ты интересный способ предлагаешь :) На самом деле: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 15:11 |
|
||
|
Работа с данными из БД
|
|||
|---|---|---|---|
|
#18+
что-то совсем экзотика тут вокруг а что, колонки в гриде делать не для всех полей датасета уже запретили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2018, 10:45 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=115&tid=2041164]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 324ms |

| 0 / 0 |
