SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
東南アジアをバックパッカーしながら転職活動をした記録
東南アジアをバックパッカーしながら転職活動をした記録
7年目で初の転職活動 2カ月で内定獲得した記録
7年目で初の転職活動 2カ月で内定獲得した記録
おすすめのプログラミングスクール めざせ就職・年収アップ!
おすすめのプログラミングスクール めざせ就職・年収アップ!
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
ブログ開始3年が経った月収が1万超えてた!
ブログ開始3年が経った月収が1万超えてた!
プログラミング独学・スクール・就職(目次)
プログラミング独学・スクール・就職(目次)
previous arrowprevious arrow
next arrownext arrow
 
Shadow
C#/VB.net

C# SQLServerへの接続方法

勉強のためにSQLServerとVisualStudioを入れてアプリケーションを作っています。

そんな時に、C#でデータベースへアクセスするって具体的にどう書けば良いのか
書き方が全く分からない時期がありました。

初球から中級レベルにはなったので、
このタイミングでプログラム初心者の手助けになるよう書き方を紹介します。

SQLServer接続 – SELECT

ソースコードとしては以下です。

引数としてString sqlにSELECT文を受け取ります。

SELECT文で返ってきたDataTableへテーブルに名前を付けてDataSetに格納します。

using System.Data.SqlClient;
using System.Data.Sql;
using System.Data;

public DataSet executeSql(String sql, string tableName)
{
    DataSet dsResult = new DataSet();

    SqlConnection sqlCon = null;
    SqlTransaction sqlTran = null;
    SqlCommand sqlCommand = null;
    SqlDataAdapter dataAdapter = null;
    DataSet dsData = new DataSet();
    
    sqlCon = new SqlConnection();
    
    sqlCon.ConnectionString = "Server=PCName or ServerName; Database=DBName; User ID=sa;Password=PassWord;";
    sqlCon.Open();
    
    sqlTran = sqlCon.BeginTransaction();
    sqlCommand = new SqlCommand(sql, sqlCon, sqlTran);
    dataAdapter = new SqlDataAdapter(sqlCommand);
    dataAdapter.Fill(dsData, tableName);
    
    sqlTran.Commit();
    dataAdapter.Dispose();
    sqlCommand.Dispose();
    sqlCon.Close();
    
    return dsData;
}

 

SQLServer接続 – INSERT UPDATE DELETE

ソースコードとしては以下です。

引数としてString sqlにSQL文を受け取ります。

sqlを使ってデータベースへ更新をかけます。

using System.Data.SqlClient;
using System.Data.Sql;
using System.Data;

public void ExecuteNonQuery(string sql)
{
    using (SqlCommand command = new SqlCommand())
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = conn.ConnectionString =
        @"Data Source=PCName or ServerName;Initial Catalog=DBName;User Id=sa;Password=PassWord;";
        // トランザクションを開始します。
        conn.Open();
        SqlTransaction transaction = conn.BeginTransaction(IsolationLevel.ReadCommitted);
    
        try
        {
            command.CommandText = sql;
            command.Connection = conn;
            command.Transaction = transaction;
            command.ExecuteNonQuery();
            
            //トランザクションをコミットします。
            transaction.Commit();
        }
        catch (System.Exception)
        {
            //トランザクションをロールバックします。
            transaction.Rollback();
            throw;
        }
        finally
        {
            conn.Close();
        }
    }
}

 

SQLServer接続時の補足

ConnectionString について

記載するのは以下の3つです。
 “Server=PCName or ServerName;
   Database=DBName;
   User ID=sa;Password=PassWord;”;

 

Server(Data Source)

SQLServeが入っていれば、
以下のSQLで簡単に確認できます。
SELECT HOST_NAME()

※IPアドレスでも指定可能ですが、変わってしまうこともあると思うので、

個人的にはホスト名を記載することをお勧めします

Database

以下のSQLでDatabaseの一覧が取得できるので、対象を記載してください。
SELECT
NAME
,DATABASE_ID
,CREATE_DATE
FROM
SYS.DATABASES;

 

User IDとPassword

2パターンに分かれます。

 

・SQLServer認証の場合

サンプルに記載の通り、ユーザ名とパスワードを使って認証します。

記載するのはSQLServerに設定しているユーザ名とパスワードです。

SQLServerManagementStudioを開く際に確認可能です。

・Windows認証の場合
赤字の通りに変更すればWindows認証は可能です。

Server=PCName or ServerName;Database=DBName;Integrated Security=True;

SQLServer認証、Windows認証の違いはそもそも何かについては、

よい説明があったのでこちらをご確認ください。

※私のように個人の勉強レベルのために使っている場合関係はありません。

企業のシステム導入になれば知っておくべきと思います。

おわりに

プログラミングの勉強を始められた方々はこの記事を読まれることが多いのではないかと思います。

私はまだ文系卒でプログラムに触れて4年程度ですが、

プログラムへ新たに触れていかれる方へもっと有益な情報を紹介できればと思います。

C#アプリ開発 メールお知らせアプリ 開発案件の経験は2案件ほどで、ほとんど経験ありません。 そんな私が独学でプログラミングの勉強をしてきました。 そこで...
おすすめのプログラミングスクール めざせ就職・年収アップ! プログラミングを独学でされている人は意外と多いです。 ただ、プログラミングの独学は簡単にはいきません。 自分だけの力...
プログラミングの独学とはエラーとの闘い プログラミングを勉強し始めた初心者の方はつまづくことが多いと思います。 私も最初はエラーが出るたびにいちいちビビッて、意味...

 

・SQLServerでホスト名を取得する
・SQL Serverでインスタンス上のデータベース一覧を取得するSQL文
・ASP.NET で MSSQL に Windows 認証で接続
・SQL ServerのWindows認証・SQL Server認証とは
ABOUT ME
LooseCarrot
LooseCarrot
ブログ運営をしているLooseCarrotです。 興味のあることにトライして発信していきます! プロフィール

関連している記事