Visual Studioを使用して上記赤枠のデータをDBから取得、表示、CSVへ書き込むまでを行います。
Postgreサーバーからデータの取得を試みたいと思います。
※データブロバイダーをインストールされていない方は、
C# Visual StadioからDBに接続してみた!!でDB接続の流れを紹介しています。
以下のようにソースを記述します。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; using Npgsql; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { //データを入れる変数を作成します。 string id = ""; string name = ""; //接続する為のインスタンスを生成します。 NpgsqlConnection conn = new NpgsqlConnection(); //DB接続情報を作成します。 conn.ConnectionString = @"Server=localhost; Port=5432; User Id=test; Password=pass; Database=test;"; try { // 接続します。 conn.Open(); Console.WriteLine("DBに接続しました。"); //SQL文を発行するクラスを生成します。 //第一引数にSQL文、第二引数に接続先を入力 NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM TEST;", conn); //クエリを実行します。 NpgsqlDataReader reader = cmd.ExecuteReader(); //データを出力するクラスを生成します。 //第一引数:出力パス\\ファイル名 //第二引数:false:上書き、true:追記 using (var sw = new System.IO.StreamWriter(@"C:\\csv\\test.csv", false)) //DBからデータを読み込む while (reader.Read()) { //DBからデータを取得 id = reader.GetValue(0).ToString(); name = reader.GetValue(1).ToString(); //コマンドラインに表示 Console.WriteLine("ID:" + id + "NAME:" + name); //CSVに書き込む sw.WriteLine(id + "," + name); } } //例外処理 catch (Exception e) { Console.Write("エラーが発生しました。"); } //必ず通る処理 finally { // 接続を解除します。 conn.Close(); Console.WriteLine("DBを閉じました。"); } } } }
「Ctrl」 + 「F5」を押して実行!
コマンド画面に取得したデータが表示されました!!
csvフォルダの直下にtest.csvが作成されていることが確認できます!
test.csvを開くとDBから取得したデータが出力されています!!