Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Практический пример на чтение данных из базы данных.Данный пример показывает принцип чтения данных из базы данных. Программа запрашивает у пользователя строку запроса и выводит на экран или в файл полученные результаты. При анализе не забудьте подключить 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(); } } } } |
|
Библиотека программиста. 2009. |
|