現在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();
}
}
}
###最後に
時間があるときに随時更新していきます。