Хранение информации не в БД. а в чем лучше? - C#
Формулировка задачи:
Здравствуйте!
У меня такой вопрос:
Как создать Виндовс приложение, что бы туда можно было заносить: (Ф.И.О. ,год рождения, дата регистрации, №счета, баланс, дом.адрес, дом. телефон.) более 2х десятков пользователей. Так что бы его можно было просмотреть и отредактировать(в самой программе).
Получиться типа базы данных для банка.(программа должна работать без помощи сторонних б.д.)
Решение задачи: «Хранение информации не в БД. а в чем лучше?»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.IO;
using System.Windows.Forms;
namespace Учет_договоров
{
class Список_договоров:Шаблон_списка
{
ArrayList список_договоров = new ArrayList();
public int Размер_списка
{ get { return список_договоров.Count; } }
public override void Добавить_элемент(object новый_элемент)
{ список_договоров.Add(новый_элемент); }
public override void Удалить_элемент(int индекс)
{ список_договоров.RemoveAt(индекс); }
public override object Вернуть_элемент(int индекс)
{ return список_договоров[индекс]; }
public override void Изменить_элемент(int индекс, object новое_значение)
{ список_договоров[индекс]=новое_значение; }
public void Сохранить_в_файл(string _файл)
{
try
{
BinaryWriter bw = new BinaryWriter(new FileStream(_файл, FileMode.Create, FileAccess.Write));
Договор договор = new Договор();
for (int i = 0; i < Размер_списка; i++)
{
договор = (Договор)this.Вернуть_элемент(i);
bw.Write(договор.Дата_заключения.Date.ToString());
bw.Write(договор.Номер_договора);
bw.Write(договор.Наименование);
bw.Write(договор.Сторона_2);
bw.Write(договор.Сумма_по_договору);
bw.Write(договор.Задолженность);
bw.Write(договор.Имя_файла);
bw.Write(договор.Примечание);
}
bw.Close();
MessageBox.Show("Данные сохранены");
}
catch (Exception исключение)
{
MessageBox.Show(исключение.Message);
}
}
public void Загрузить_из_файла(string _файл)
{
список_договоров.Clear();
try
{
BinaryReader br = new BinaryReader(new FileStream(_файл, FileMode.Open, FileAccess.Read));
try
{
for (; ; )
{
this.Добавить_элемент(new Договор(Convert.ToDateTime(br.ReadString()),
br.ReadString(), br.ReadString(), br.ReadString(), br.ReadInt32(),
br.ReadInt32(), br.ReadString(), br.ReadString()));
}
}
catch (EndOfStreamException)
{/*стандартный выход по окончанию файла*/
br.Close();
//MessageBox.Show("Операция успешно выполнена");
}
}
catch (Exception исключение)
{
MessageBox.Show(исключение.Message);
}
}
}
}