| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Как сохранять таблицы баз данных? |
| Автор: medos 12.5.2006, 17:11 |
| Есть таблица с данными. Данные можно редактировать. Причем с данными предполагается работать на логическом уровне. Как бы попроще сохранять такую таблицу? |
| Автор: Domestic Cat 12.5.2006, 17:16 | ||
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlcommandbuilder.aspx |
| Автор: Exception 12.5.2006, 17:20 |
| Удобнее всего через DLinq, который пока доступен только в Preview и станет частью ADO .NET 3.0. |
| Автор: medos 12.5.2006, 19:54 |
| Пару раз я уже слышал про sqlconnection, но я точно не знаю это ли мне нужно... Для проекта состоящего из нескольких форм, аналогичных вышеприведенной таблице, подойдет способ sqlconnection? или я торможу и мне надо переделывать проект? По заданию мне надо сделать редактируемую базу данных по железу под windows, которая в соответствии с ответами на заранее поставленные вопросы будет выдавать наиболее подходящую конфигурацию компьютера составляя ее из нескольких таблиц по типам: процессоры, видеокарты и т.д. |
| Автор: alir 12.5.2006, 20:09 |
| medos Sqlconnection - это лишь специализированный объект подключения к базе данных SQL Server, не более. Начальный уровень использования базы показал Domestic Cat - юзай пример. Но сначала укажи какой формат базы данных ты собираешься исользовать (access, oracle, mysql и т.д). |
| Автор: medos 12.5.2006, 20:40 |
| Т.к. размеры таблицы у меня будут небольшие, то я собираюсь использовать свой формат БД, если так можно выразиться. Т.е. "нарисовать" таблицу, заполнить ее данными, присвоить эти данные переменным (или они будут свойствами класса) и с ними уже работать с помощью логических операций. Могу ли я как нибудь сделать "снимок" текущего состояния своей таблицы не используя никакого формата баз данных? |
| Автор: mr.DUDA 13.5.2006, 10:08 | ||
Если всё так просто, то можно хранить всю базу в XML-файле и работать с ней через DataSet. То есть, в начале работы делаем dataSet.ReadXml(fileName), потом работаем с таблицами, в конце работы сохраняем dataSet.WriteXml(fileName). Структуру таблиц можно "нарисовать" в студии, создав типизированный DataSet. Если работаем в 2003-й студии, то делаем "Add New Item... / XSD Shema" и рисуем схему базы данных, должна стоять галка "Generate dataset". DataSet автоматически генерируется на основании того что мы нарисовали. В 2005-й студии делаем "Add New Item... / DataSet" и кидаем с тулбокса таблицы. Колонки в таблицу добавляются через контекстное меню таблиц, тип данных и прочее настраивается в окне Properties. Индексы и primary key настраиваются в контекстном меню колонок. Пример, как выглядит датасет нарисованный в студии: |
| Автор: mr.DUDA 13.5.2006, 10:25 | ||
Пример кода для наглядности удобства работы с датасетами:
|
| Автор: medos 13.5.2006, 13:27 |
| Спасибо за пример. Правильно я понимаю, что надо делать 2 таблицы: 1-ая DataSet - для хранения и операций с информацией 2-ая при помощи ListView для отображения информации. |
| Автор: mr.DUDA 13.5.2006, 13:37 | ||
Таблица одна - в датасете. На ListView эта же таблица завязывается с пом. DataBinding-а. |
| Автор: medos 13.5.2006, 15:22 |
| То есть, на ListView надо нарисовать колонки, а Items и SubItems привязать с помощью DataBindinga? А можно пример использования DataBindinga? listView1.DataBindings.Add(?,?); - что-то типа этого? |
| Автор: mr.DUDA 13.5.2006, 15:53 | ||
| Только что проверил, на ListView не получится забиндиться, т.к. элементами (Items) являются не строки а ListViewItem-ы. Если использовать не ListView а ListBox, то можно:
|
| Автор: Хоббит 13.5.2006, 16:21 |
| medos: ты случаем не на САПРе учишься. ... нам тоже такие задачки давали в свое время |
| Автор: medos 13.5.2006, 16:57 |
| Хоббит: Почти... на АСУ. Уверен на 90%, что на специальностях 220200 и 220300, такие задачи не понадобятся в будущем, т.к. в идеале специалист 220200 готовится к управлению командой программистов при проектировании АСУ (САПР) и собственно технические знания программирования необязательны. А может осталось чего? mr.DUDА: Спасибо, просто нереально выручаешь!!! |
| Автор: Хоббит 13.5.2006, 19:34 |
| ... так ты сразу начальником и станешь.... нас вообще не понятно чему учут думать главное научиться, а потом все сможешь извинити за офтоп |