- Home
- C#, SQL Server
- [C#]SQL Serverからデータを取得する
[C#]SQL Serverからデータを取得する
C#でSQL Serverから値を取得するには、System.Data.SqlClientクラスを使用する。
SQL Server から値を取得する
C#でSQL Serverから値を取得するには、System.Data.SqlClientクラスを使用する。
処理内容
下記のコードでは、データ取得ボタン「btnDbConn」がクリックされると、データグリッドビュー「dgv」をクリアして、データベースに接続。
データを取得して、データグリッドビューに表示する。
接続文字列のデータソースはどれ?
ソース内の接続文字列のデータソース「LAPTOP-JVHPVAS9」は
SSMSのログイン情報のサーバー名を設定する。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; // 追記(データベースにアクセスするクラス) using System.Data.SqlClient; namespace SQLServerConnect001 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // データ取得ボタン押下時の処理 private void btnDbConn_Click(object sender, EventArgs e) { // DB接続 SqlConnection con = null; // 結果セット SqlDataReader reader = null; // データグリッドビューの行をクリアする dgv.Rows.Clear(); try { // 接続の作成 con = new SqlConnection(); // 接続文字列(サーバー名とユーザーID、パスワードを記述) con.ConnectionString = @"Data Source=LAPTOP-JVHPVAS9;" + @"Integrated Security=False;" + @"User ID=testuser;" + @"Password=testuser"; // データベースに接続する con.Open(); // コマンド(SQLを設定する) SqlCommand comm = new SqlCommand(); comm.Connection = con; // 接続情報を渡す // コマンドにSQLを設定する comm.CommandText = @"SELECT * FROM TEST_TABLE"; // SQLの結果はSqlDataReaderに渡す // このメソッドでデータを取得する。 reader = comm.ExecuteReader(); while (reader.Read()) { // データグリッドビューにデータを格納 // ※列の指定は列番号でも列名でも可能 dgv.Rows.Add(reader[0], reader[2], reader["QTY"]); } // 例外発生テスト // この行はDBの接続とは関係ないのでいらない // 例外発生時にfinallyに入るか見たかった。 // throw new Exception("テスト例外"); } catch (Exception ex) { // 例外発生時、エラーメッセージを表示 MessageBox.Show(ex.Message); } finally { // 結果セットを閉じる reader.Close(); reader = null; // DB接続を閉じる con.Close(); con = null; } } } } |
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。