Хранение в базе данных графического изображения

b для представления этого изображения

Например, при хранении в базе данных графического изображения обычно сохраняют сырые байты графического файла или объекта в столбце Image. Для представления этого изображения вам требуется трансформировать его в тот тип изображения, который совместим с возможностями ваших элементов управления. Вам может также потребоваться модифицировать графические данные перед их представлением, например, масштабировать изображение. Если речь идет о датах или о числах с плавающей точкой, база данных может хранить их с более высокой точностью, чем требуется вам, и опять возникает нужда в преобразовании. Наконец, в столбце вашей таблицы может содержаться внешний ключ, и вместо отображения значения ключа вам потребуется отображать соответствующее значение, извлеченное из столбца родительской таблицы. Например, если вы отображаете список заказов, нужно отображать имя клиента вместо его идентификатора. В столбцах базы данных могут содержаться значения Null Для столбцов, которые транслируются в типы значений системы типов. NET, но поскольку типы значений никогда не могут быть нулевыми, что случится, если вы попытаетесь привязать данные из такого столбца к свойству элемента управления, определяющему тип значения? Ответ на этот вопрос зависит от устройства элемента управления, и хорошо спроектированный элемент управления корректно обработает нулевое значение, и кроме того, будет документировано, каким будет его поведение. Примеры того, как контролировать это поведение, вы встретите в следующих разделах. Во всех таких случаях есть простой способ найти решение, если вы знаете, где его искать. В главе 6 подобные ситуации подробно описываются на примере элемента управления DataGridView. В данном разделе мы рассмотрим привязку данных сложных типов к отдельным свойствам элемента управления. Ключевая роль здесь принадлежит пониманию работы класса Binding, Тому, как этот класс контролирует процесс привязки данных. В листинге 3.4 объект Binding Создавался и добавлялся к коллекции DataBindings Текстового поля неявно благодаря перегрузке метода Add В этой коллекции:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *