2016-06-22 5 views
0

Я пишу приложение, которое считывает данные из реляционной базы данных, позволяя пользователю изменять данные и записывать их обратно.Первичные ключи и пользовательские интерфейсы

Я не уверен, как обращаться с первичными ключами, так как я не хочу показывать их в выводе пользовательского интерфейса. Какая практика заключается в том, чтобы удерживать первичные ключи невидимыми для пользователя, но чтобы их можно было легко получить после внесения изменений в gui?

Я использую C#, Windows Forms и sqlite, если необходимо.

EDIT: Пример: У меня есть ввод текста, который содержит заработную плату сотрудника. Могу ли я сохранить первичный ключ этого сотрудника, связанный с этим вводом текста, чтобы изменения, сделанные пользователем, могли быть легко записаны?

+0

Вы можете иметь невидимую метку или текстовое поле в своей форме. И установите значение первичного ключа для этого элемента управления. Сделать управление видимым ложным. –

+0

Это зависит, например. если рассматриваемые объекты были элементами периодической таблицы, то было бы практически невозможно не отображать один или несколько ключей-кандидатов в пользовательском интерфейсе? – onedaywhen

+0

Спасибо за подсказку с контролем невидимым! – chr

ответ

0

Если вы используете ORM, у вас есть PK как свойство объекта. Если вы используете SQL-запросы напрямую, вы можете удерживать PK во внутренней переменной в вашем классе формы.

+0

Но может возникнуть проблема, если пользовательский интерфейс отображает 10 строк данных, и мне нужно сохранить все 10 первичных ключей во внутренних переменных, не так ли? Но я вижу, я подумаю об использовании массива – chr

+0

Я бы использовал коллекцию объектов, где каждый объект имеет одно свойство для каждого столбца данных. В принципе ORM делает это так: когда вы получаете строку, создаете новый объект или создаете объект, а затем сохраняете базу данных. Одна строка, сопоставленная объекту и отредактированная в вашей форме, где вы можете показать или скрыть любое свойство по своему усмотрению. –

Смежные вопросы