@zakkav

Как создать базу данных из текстового файла C#?

Делаю курсовую по созданию банкомата. По условиям пароли, имена и все данные хранятся в обычном текстовом файле. Нашел на одном сайте такой пример, не могу понять как теперь извлечь отсюда данные
`public partial class Form1 : Form
    {
        private void Form1_Load(object sender, EventArgs e)
        {
            //Определяем подключение
            OleDbConnection StrCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Exp;Extended Properties=text");
            //Строка для выборки данных
            string  Select1 = "SELECT * FROM [Dictionary1.txt]";
            //Создание объекта Command
            OleDbCommand comand1 =new OleDbCommand(Select1, StrCon);
            //Определяем объект Adapter для взаимодействия с источником данных
            OleDbDataAdapter adapter1 =new OleDbDataAdapter(comand1);
            //Определяем объект DataSet
            DataSet AllTables =new DataSet();
            //Открываем подключение
            StrCon.Open();
            //Заполняем DataSet таблицей из источника данных
            adapter1.Fill(AllTables);
            //Заполняем обект datagridview для отображения данных на форме
            dataGridView1.DataSource = AllTables.Tables[0];
            StrCon.Close();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                StreamWriter sw = new StreamWriter(@"D:\Exp\Dictionary1.txt", false, Encoding.Default);
                //Добавление имен столбцов
                for(int j = 0; j<dataGridView1.ColumnCount; j++)
                {
                    sw.Write(dataGridView1.Columns[j].HeaderText);
                    if( j < dataGridView1.ColumnCount-1) 
                        sw.Write(",");
                }
                sw.WriteLine();
                for (int i= 0; i<dataGridView1.RowCount;i++)
                {
                    for (int j = 0; j< dataGridView1.ColumnCount;j++)
                    {
                        sw.Write(dataGridView1.Rows[i].Cells[j].Value);
                        if (j < dataGridView1.ColumnCount-1) 
                            sw.Write(",");
                    }
                    sw.WriteLine();
                }
                sw.Flush();
                sw.Close();
            }
        catch (Exception ex)
            {
            MessageBox.Show(ex.Message);
        }
        }
    }`
  • Вопрос задан
  • 1424 просмотра
Решения вопроса 1
2ord
@2ord
продвинутый чайник
При помощи строки подключения OleDbConnection устанавливается соединение с некой БД. В твоём случае это текстовый файл. В текстовый файл данные пишутся так, что колонки имеют разделитель в виде табуляции, запятой, точки с запятой или других знаков ASCII. Такие файлы условно называются CSV.

DataSet - это набор данных (так переводится с англ.), получаемый и БД при помощи SELECT.
Это все строки, считанные с текстового файла, распределённые каждые по своим колонкам. В программе с графическим интерфейсом эти данные обычно проецируются построчно (строка=запись) на какой-то элемент графического интерфейса для отображения на экране.
Пользователь же, работая с интерфейсом, активирует команду для занесения новой записи, каждую из которых нужно сохранить в БД при помощи INSERT.
Обновлять ячейки, скажем записи №2, нужно посредством UPDATE ... WHERE id=2.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы