C# DBからデータ取得、表示、CSVへ書き込み,!!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

コマンド画面

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が作成されていることが確認できます!

csv出力結果

test.csvを開くとDBから取得したデータが出力されています!!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*

CAPTCHA