MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
C Sharpとデータベース - 結果の取得のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
C Sharpとデータベース - 結果の取得
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == C#でSQL Serverに対してSELECT文を実行する時のサンプルコードを記載する。<br> ここでは、下記の2種類を例として取り上げる。<br> * SELECT文の実行結果をDataTableを用いてまとめて読み込む方法 * SELECT文の実行結果を1行ずつ読み込む方法 <br> == まとめて読み込む(DataTable) == DataTableへSELECT文の結果を一括で読み込む方法を説明する。この方法は単純で理解しやすい。<br> DataSetを使用する方法もあるが、DataTableを取り出すためにワンクッション必要となるため、DataTableへ直接代入する方がよい。<br><br> 一括でDataTableへ読み込む際は、DataAdapterを使用する。<br> <source lang="c#"> using System; using System.Configuration; using System.Data; using System.Data.SqlClient; public DataTable GetData() { var table = new DataTable(); // 接続文字列の取得 var connectionString = ConfigurationManager.ConnectionStrings["sqlsvr"].ConnectionString; using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand()) { try { // データベースの接続開始 connection.Open(); // クエリの作成 command.CommandText = @"SELECT count(*) FROM T_USER"; // クエリの実行 var adapter = new SqlDataAdapter(command); adapter.Fill(table); } catch (Exception exception) { Console.WriteLine(exception.Message); throw; } finally { // データベースの接続終了 connection.Close(); } } return table; } </source> <br> == 1行ずつ読み込む(SqlDataReader) == SELECT文の結果を1行ずつ読み込む場合、DataReaderを使用する。<br> CommandのExecuteReader()メソッドを実行することで、DataReaderを取得し、1行ずつ読み込んで処理を行う。<br> 実装は面倒だが O/Rマッピングのようなことができる。<br><br> 以下のサンプルコードにおけるUserModelはT_USERに対応する独自のクラスになる。<br> <source lang="c#"> using System; using System.Collections.Generic; using System.Configuration; using System.Data.SqlClient; using WebApplication1.Models; public List<usermodel> GetData() { var list = new List<usermodel>(); // 接続文字列の取得 var connectionString = ConfigurationManager.ConnectionStrings["sqlsvr"].ConnectionString; using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand()) { try { // データベースの接続開始 connection.Open(); // クエリの作成 command.CommandText = @"SELECT ID,PASSWORD,ROLE_NAME FROM T_USER"; // クエリの実行 using (var reader = command.ExecuteReader()) { while (reader.Read() == true) { list.Add(new UserModel() { Id = reader["ID"] as string, Password = reader["PASSWORD"] as string, RoleName = reader["ROLE_NAME"] as string }); } } } catch (Exception exception) { Console.WriteLine(exception.Message); throw; } finally { // データベースの接続終了 connection.Close(); } } return list; } </source> <br><br> __FORCETOC__ [[カテゴリ:C_Sharp]]
C Sharpとデータベース - 結果の取得
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse