Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > база картинок


Автор: 6axyc 7.11.2009, 12:29
Народ всем драсте, у меня такое дело, мне нужно создать базу данных картинок и подсоединить её к форме написанной на c# в visual studio.
вот, я никада не создавал базы данных вобще и не имею представления с чего начать и возможно ли работать только в visual studio или нужно ставить прогу для баз данных?
плиз направте в правильное русло, с чего начать, как создать саму базу данных?
я очень извеняюсь если такая тема была, я не нашел ченить похожее, и конечно надеюсь что изложил суть проблемы нормально.
спасибо заранее. 

Автор: SIRIUStar 9.11.2009, 17:24
ну тебе для начала нужно выбрать саму базу) Их много самых разных. Думаю mysql тебе хватит.. Она простая и бесплатная.. качай устанавливай.. Так как ты используешь .net проблем в соединении с базой и передаче данных не возникнет.. там все довольно просто.. есть куча конекторов для мускуля. Можешь использовать стандартный.. тоже найдешь на сайте мускуля.. в инете куча примеров как соединяться, как передавать даные и тд. 

На счет картинок.. ну если есть необходимость хранить их в базе, то можешь вписывать в базу битовый массив изображения ну и какието данные связанные с ним... ( для простоты поиска скажем) потом ищем что нужно, и селектим нужный битовый массив, загружаем в имедж и видим его на экране.. ну думаю как то так)

Автор: KelTron 10.11.2009, 13:42
1. Для начала, как уже правильно сказали, выбираешь СУБД. Я думаю лучше всего выбрать MS SQL Server 2005 Express, тем более что он обычно ставится вместе со студией и скорее всего он у тебя уже установлен. Для дотнета это самая "родная" СУБД, там есть все удобства для работы с ней. 

2. Далее тебе нужна программа для создания и редактирования БД. Можно опять же воспользоваться встроенным в студию редактором или установить MS SQL Server Management Studio. (это если ты выбрал MS SQL Server)

MS SQL Server 2005 Express и MS SQL Server Management Studio бесплатны.

3. Теперь тебе нужно создать саму БД и таблицу для хранения картинок. Там будет како-то описание и само содержимое картинки - двоичные данные, их нужно хранить в BLOB полях, для MS SQL Server это varbinary и  image.

4. Далее нужно определиться каким образом будешь получать доступ к данным, для MS SQL Server стандартно ADO.NET либо LINQ to SQL либо ADO.NET Entity Framework. Думаю для начала лучше воспользоваться ADO.NET - там всё проще.

5. Потом собственно нужно определить как ты будешь отображать данные на форме, скорее всего картинки ты будешь помещать в PictureBox-ы.

Ну вот примерно в такой последовательности, надеюсь теперь тебе будет легче разобраться..)

Автор: mrbrooks 10.11.2009, 16:56
Цитата(SIRIUStar @  9.11.2009,  17:24 Найти цитируемый пост)
Думаю mysql тебе хватит.. 

а если бд локальная? 

Цитата(KelTron @  10.11.2009,  13:42 Найти цитируемый пост)
MS SQL Server 2005 Express

а если бд локальная?

6axyc, я надеюсь ты же не собираешься хранить картинки в базе? я еще понимаю 10 иконок, но если 1000 фотографий среднего качества, я даже боюсь представить какая будет красота. Если последнее - обычно хранят ссылки на картинки, но ни как не сами картинки.

По поводу самой БД думаю не стоит юзать клиент - серверную СУБД для такой задачи. Остановись на чем нибудь попроще. Тот же SQLite. Маленький, быстрый, есть коннектор.

Автор: 6axyc 10.11.2009, 19:25
Народ вопервых всем большое спасибо, я уже думал что никто не поможет.
Теперь что касается базы данных, я хочу создать базу данных привьюшек (как я понял, по типу Thumbs.db).
Тоесть база локальная, на счет сохранения картинок мне уже объяснили, что сохранять нужно попиксельно, так что я скорее всего уже буду ссылки сохранять.
Я в принципе начал немного разбираться в базах которые можно делать в самом вижуал студио.
Есть один вопрос, я не совсем понял на счет локальной базы и не локальной, тобишь есть виды баз которые только локальные и есть которые сетевые?

Автор: KelTron 10.11.2009, 20:56
Цитата(mrbrooks @  10.11.2009,  16:56 Найти цитируемый пост)
а если бд локальная?

А если, а если..) Не расписывать же все возможные варианты, я набросал примерную схему.
Конечно если БД локальная то тут уже выбор другой - SQLite или SQL Server Compact или ещё что.

Цитата(6axyc @  10.11.2009,  19:25 Найти цитируемый пост)
есть виды баз которые только локальные и есть которые сетевые?

Ну локальные это типа файловые БД. Для них не нужно отдельно ставить СУБД. Например для работы с БД MS SQL Server нужен файл mdf и установленные запущенные службы, с помощью которых происходит работа с базой.
Для локальных же никаких служб дополнительно ставить не нужно, например, в SQL Server Compact нужен только файл sdf, а сам SQL Server Compact - это всего лишь несколько длл, которые лежат в папке фреймворка.

Автор: 6axyc 10.11.2009, 21:12
ОК спасиба за помощь, всем очень благодарен, очень полезная инфа для того чтобы понять откуда ноги растут.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)