2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【開発メモ】C#でSQLを実行

Last updated at Posted at 2021-04-19

現在c#で開発していて、よく使う処理をメモとして残します。(随時更新予定)
コネクションは普段Configに書いていますが、今回はソースコード上にべた書きしています。
※完全に自分用のメモです。ご了承ください。

##前準備
###開発環境
・Visual Studio 2019
・Microsoft SQL Server Management Studio 18

###usingディレクティブ
使用するパッケージはSqlClientです。
Visual Studioの「ツール」→「NuGetパッケージ マネージャー」→「ソリューションのパッケージの管理」よりSqlClientをインストールしてください。
usingディレクティブは以下のように記述。

using System.Data.SqlClient;

#データ抽出
SELECT文でテーブルからデータを取得する。

public string Conn = @"Data Source = <サーバー名>; Initial Catalog = <DB名>; User ID = <ユーザID>;
             Password = <パスワード>; Encrypt=False; TrustServerCertificate=True";

/// <param name="Conn">コネクション</param>
public void Get_TableDatas(string Conn)
{
        //クエリ
        string query = "SELECT * FROM <テーブル名> ";

        using (SqlConnection con = new SqlConnection(Conn))
        {
                try
                {
                    SqlCommand comm = new SqlCommand(query, con);

                    //コネクション開始
                    con.Open();

                    using (SqlDataReader dr = comm.ExecuteReader())
                    {
                        //値取得
                        if (dr.Read())
                        {
                            var Data = ((データ型)dr["<カラム名>"]);
                        }
                    }
                }
                catch (Exception e)
                {
                    //エラーメッセージ
                    Console.WriteLine(e.Message);
                }
                finally
                {
                    //コネクション終了
                    con.Close();
                }
        }
}

#データ挿入
INSERT文でテーブルへデータを格納する。
テーブルは以下のような構成で行います。

SAMPLE_TABLE

DATA_DATETIME DATA_ID DATA_VALUE
2021-01-01 00:00:00.000 1 90.6
2021-01-01 00:30:00.000 2 78.3
public string Conn = @"Data Source = <サーバー名>; Initial Catalog = <DB名>; User ID = <ユーザID>;
             Password = <パスワード>; Encrypt=False; TrustServerCertificate=True";

/// <param name="Conn">コネクション</param>
public void Insert_TableDatas(string Conn)
{
            using (SqlConnection con = new SqlConnection(Conn))
            using (var command = con.CreateCommand())
            {
                try
                {
                    con.Open();

                    // クエリ
                    command.CommandText = @"INSERT INTO <テーブル名> VALUES('" + <DATA_DATETIME> + "'," + <DATA_ID> + ","+ <DATA_VALUE> + ")";

                    // SQLの実行
                    command.ExecuteNonQuery();
                }
                catch (Exception e)
                {
                    //エラーメッセージ
                    Console.WriteLine(e.Message);
                }
                finally
                {
                    //コネクション終了
                    con.Close();
                }
            }
}

###最後に
時間があるときに随時更新していきます。

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?