Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Работа с данными из БД / 17 сообщений из 17, страница 1 из 1
09.03.2018, 07:14
    #39612418
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
Подскажите пожалуйста как правильно делать?

Обычно я формирую отчет SQL запросом и вывожу его на форму пользователю и дальше он сам. Но сейчас встал вопрос о том что пользователю необходимо детализировать отчет по клику на строке. Но у меня там могут быть двойные данные - то есть допустим в конторе 2 Ивановых и когда пользователю нужно сформировать детальный отчет по одному из них - кого брать?

Выводить ID не вариант - на форме этого не предусмотрено, к тому же отчет большой, могут дублироваться несколько полей и к каждому ID не проставишь.
...
Рейтинг: 0 / 0
09.03.2018, 08:44
    #39612428
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOKПодскажите пожалуйста как правильно делать?

Обычно я формирую отчет SQL запросом и вывожу его на форму пользователю и дальше он сам. Но сейчас встал вопрос о том что пользователю необходимо детализировать отчет по клику на строке. Но у меня там могут быть двойные данные - то есть допустим в конторе 2 Ивановых и когда пользователю нужно сформировать детальный отчет по одному из них - кого брать?

Выводить ID не вариант - на форме этого не предусмотрено, к тому же отчет большой, могут дублироваться несколько полей и к каждому ID не проставишь.
Полученные данные и Отображаемые данные: это две очень больших разницы.
...
Рейтинг: 0 / 0
09.03.2018, 08:52
    #39612431
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
а если я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на форму - так нормально будет?
...
Рейтинг: 0 / 0
09.03.2018, 09:13
    #39612434
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOKа если я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на форму - так нормально будет?
Конечно нормально. Тем более когда в конторе два Ивановых а выводить Id не вариант.
А что?
...
Рейтинг: 0 / 0
09.03.2018, 12:40
    #39612512
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOKесли я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на формуА зачем здесь MemTable? Что мешает выводить сразу Query?
...
Рейтинг: 0 / 0
09.03.2018, 13:57
    #39612547
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
_Vasilisk_qwertEHOKесли я запросом ПОЛНЫЕ данные вытяну в MemTable, а из него буду отображать на формуА зачем здесь MemTable? Что мешает выводить сразу Query?

в Query у меня полные данные - то есть со всеми ID
я вывожу данные пользователю и закрываю Query - все. Данных нет. Нужно где то все хранить.

нашел еще один вариант - хранить, например RowNumber, в ListItem.Data
...
Рейтинг: 0 / 0
09.03.2018, 14:04
    #39612548
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOKнашел еще один вариант - хранить, например RowNumber, в ListItem.Data

Храни сразу ID... RowNumber - это путь граблей и непонятного поведения.
...
Рейтинг: 0 / 0
09.03.2018, 14:07
    #39612550
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
DarkMasterqwertEHOKнашел еще один вариант - хранить, например RowNumber, в ListItem.Data

Храни сразу ID... RowNumber - это путь граблей и непонятного поведения.
согласен, но если их несколько?
...
Рейтинг: 0 / 0
09.03.2018, 14:19
    #39612556
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOK,

Несколько чего? Записей? Смотри - у тебя есть что-то в ListBox/ListView (строка). Тебе нужно по клику на строке развернуть детальный отчет - вот и храни в Item`e ID, который тебе поможет развернуть детальный отчет. Если 1 integer (aka ID) тебе не хватает - храни несколько ID в своей структуре (Item.Data у тебя указатель).
...
Рейтинг: 0 / 0
09.03.2018, 14:25
    #39612559
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
DarkMasterqwertEHOK,
Если 1 integer (aka ID) тебе не хватает - храни несколько ID в своей структуре (Item.Data у тебя указатель).

что имелось ввиду?
допустим у меня в отчете 2 заказчика Ивановых (id 100500 и 100600) и 2 Исполнителя Петровых (id 500100 и 600100)
мне в каждую Data пихать строку '100500|500100' и потом делить?
или создавать структуру, писать туда данные .... и тд и тп?
...
Рейтинг: 0 / 0
09.03.2018, 14:39
    #39612564
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOK,

Давай по пунктам?
1) У тебя есть заказчик Иванов (от 1 до N). Иванова идентифицирует его ID = 123456
2) По клике на этого заказчика - тебе нужно показать исполнителя Петрова (которых у тебя тоже от 1 до N).
3) Чтобы это сделать, тебе достаточно попросить у БД "а покажи мне исполнителей у заказчика с ID=123456".

В общем или рассказывай все подробно, с примерами того, какие данные у тебя есть (получаешь из TQuery изначально) и какие данные тебе еще нужно показать или мы тут до второго пришествия свои телепатометры насиловать будем :)
...
Рейтинг: 0 / 0
09.03.2018, 14:47
    #39612569
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
DarkMasterqwertEHOK,
В общем или рассказывай все подробно, с примерами того, какие данные у тебя есть (получаешь из TQuery изначально) и какие данные тебе еще нужно показать или мы тут до второго пришествия свои телепатометры насиловать будем :)

есть объект1, заказчик Иванов(100500), исполнитель Петров(500100)
есть объект2, заказчик Иванов(100600), исполнитель Петров(600100)

пользователю по клику формируется подменю - информация по объекту (получаю название объекта - строю отчет)
нужно добавить еще "информацию по заказчику", "информация по исполнителю" ..

полей по объекту в реальном отчете намного больше
...
Рейтинг: 0 / 0
09.03.2018, 14:55
    #39612572
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
[quot qwertEHOK]DarkMasterqwertEHOK,
пользователю по клику формируется подменю - информация по объекту (получаю название объекта - строю отчет)
нужно добавить еще "информацию по заказчику", "информация по исполнителю" ..

полей по объекту в реальном отчете намного больше

Ну запихай себе в стуктуру что-то такое:

PMyData=^TMyData;
TMyData=packed record
ID_1 : integer;
....
ID_NNN: integer;
end;

А сам указатель на структуру - засунь в Item.Data. Потом по клику - выбирай нужный ID и показывай данные. Это если уж очень нужно именно в ListView показывать. Если не нужно - просто скрой ненужные поля в гриде.
...
Рейтинг: 0 / 0
09.03.2018, 15:04
    #39612576
qwertEHOK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
DarkMasterНу запихай себе в стуктуру что-то такое:
спасибо, попробую

DarkMasterЕсли не нужно - просто скрой ненужные поля в гриде.
интересный способ - выставишь ширину колонки в 0)))


спасибо всем
...
Рейтинг: 0 / 0
09.03.2018, 15:11
    #39612581
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
qwertEHOKDarkMasterЕсли не нужно - просто скрой ненужные поля в гриде.
интересный способ - выставишь ширину колонки в 0)))


Это ты интересный способ предлагаешь :) На самом деле:

Код: pascal
1.
Fields[XXX].Visible:=False;
...
Рейтинг: 0 / 0
10.03.2018, 10:45
    #39612740
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
что-то совсем экзотика тут вокруг
а что, колонки в гриде делать не для всех полей датасета уже запретили?
...
Рейтинг: 0 / 0
10.03.2018, 11:14
    #39612744
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с данными из БД
krapotkin,

Так фиг его знает, что он там отображает и где. Я только заказчика-исполнителя выдавил.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Работа с данными из БД / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]