• Добро пожаловать на сайт - Forumteam.wiki !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

57. Работаем опять с базой.

Redman

<FORUMTEAM>
Команда форума
Регистрация
13.11.17
Сообщения
13.343
Реакции
8.367
Баллы
1.200
FTC
203¢
Практический пример на чтение данных из базы данных.
Данный пример показывает принцип чтения данных из базы данных. Программа запрашивает у пользователя строку запроса и выводит на экран или в файл полученные результаты. При анализе не забудьте подключить System.Data.Dll. Код примера:
Код:
using System;
// Для работы с базами данных подключаем  System.Data.Odbc
using System.Data.Odbc;
using System.IO;
namespace ReadFromDatabase
{
    class Sample
    {
        static void Main()
        {
            // Переменная для соединения с базой данных
            OdbcConnection sampleConnect=null;
            // Переменная для выполнения запроса
            OdbcCommand sampleCommand;
            // Переменная для чтения полученных данных из базы
            OdbcDataReader sampleReader = null;
            int sampleCountColumns = 0;
            string sampleDestination;
            // Переменная для записи в файл   
            StreamWriter file=null;
            try
            {
                Console.WriteLine("Welcome Back To Console !!!\nInput query( only select ):");
                // Строка для соединения
                string sampleConnection = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\sample.mdb";
                sampleConnect = new OdbcConnection(sampleConnection);
                // Открываем соединение с базой
                sampleConnect.Open();
                string sql;
                sql = Console.ReadLine();
                do
                {
                    Console.WriteLine("Put C for console output,F for file Output");
                    sampleDestination = Console.ReadLine().ToUpper();
                }while(sampleDestination!="C"&&sampleDestination!="F");

               
                sampleCommand = new OdbcCommand(sql);
                // Стыкуем с открытым соединением
                sampleCommand.Connection =sampleConnect;
                // Выполняем запрос на чтение данных
                sampleReader = sampleCommand.ExecuteReader();
                // Количество столбцов, полученных в результате работы запроса
                sampleCountColumns = sampleReader.FieldCount;
                if(sampleDestination=="C")
                {
                    // Выводим заголовки столбцов   
                    for(int i = 0;i<sampleCountColumns;i++)
                        Console.Write("{0,10}",sampleReader.GetName(i));
                    Console.WriteLine("\n\n");
                }
                else
                {
                    file = new StreamWriter("data.txt");
                    for(int i = 0;i<sampleCountColumns;i++)
                        file.Write("{0,10}",sampleReader.GetName(i));
                    file.WriteLine("\r\n\r\n");
                }
                   
                // Получаем в цикле каждый раз новую строку, пока не будет достигнут конец
                while(sampleReader.Read())
                {
                    if(sampleDestination=="C")
                    {
                        for(int i = 0;i<sampleCountColumns;i++)
                        {
                            // Получаем значение конкретного столбца из полученной строки
                            Console.Write("{0,10}",sampleReader[i]);
                        }
                        Console.WriteLine();
                    }
                    else{
                        for(int i = 0;i<sampleCountColumns;i++)
                        {
                            file.Write("{0,10}",sampleReader[i]);
                        }
                        file.WriteLine();
                    }
                   
                }
               
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                // Закрываем все соединения
                if(file!=null)
                    file.Close();
                if(sampleReader!=null)
                    sampleReader.Close();
                if(sampleConnect!=null)
                    sampleConnect.Close();
               
            }
        }
    }
}
 
Сверху Снизу