ラベル SQL の投稿を表示しています。 すべての投稿を表示

C# で SQL Server に パラメタライズドクエリ を 実行する

セキュリティ上の対策として パラメタライズドクエリ (パラメタ化クエリ、パラメータクエリ等呼ばれています) を利用すると思います。 このパラメタライズドクエリ、言語やデータベースによって指定方法が異なるのが厄介。。 C# で SQL Server に対して パラメタライズドクエリ を利用する際は @パラメータ名 でパラメータ指定します。 Command を再利用する場合、パラメータが保存されたままとなるのでパラメータ指定するキー名が被らないように注意します。 サンプルコード using System; using System.Configuration; using System.Data.SqlClient; public void Insert1(string id, string password, string role) { // 接続文字列の ...

C# で SQL Server に対して INSERT文 ・ UPDATE文 ・ DELETE文 を 実行する 方法

C# で SQL Server に対して変更処理(INSERT, UPDATE, DELETE)を実行する方法をまとめてみました。 目次 1行だけ実行 トランザクション処理 [おまけ] DB変更を行うSQL INSERT UPDATE DELETE 1行だけ実行 単一テーブルにしか影響しないようなSQLは1行だけ実行することになると思います。 このようなSQLを実行する場合、トランザクションを考慮せずそのまま ExecuteNonQuery() を実行する方法が簡単です。 using System; using System.Configuration; using S ...

C# で SQL Server から SELECT文 の 実行結果 を 取得する 方法

C# で SQL Server に対して SELECT文 を実行する際のサンプルコードを作成しました。 ここでは「SELECT文 の 実行結果 を DataTable へ投入する方法」と「SELECT文 の 実行結果 を 1行ずつ読み込んで処理していく方法」の2種類を例として取り上げます。 目次 まとめて読み込む (DataTable) 1行ずつ読み込む (SqlDataReader) まとめて読み込む (DataTable) DataTable へ SELECT文 の 結果 を一括読み込みしてしまう方法です。 単純で理解しやすい方法かと思います。 DataSet へ 結果投入してしまってもよいのですが、DataTable を取り出すためにワンクッション必要となるため、個人的には DataTab ...

PL/SQL で 大量 テストデータ を 投入 する サンプルコード

Oracle データベース に 大量のテストデータ を PL/SQL を利用して投入する サンプルコード と 関連する内容 をまとめました。 目次 データ投入 の 基本形 シーケンスの取得 ランダムな値の取得 文字列結合 データ投入 の 基本形 本来なら INSERT だけでいいところなのですが… SELECT, UPDATE, DELETE も念のため組み込んだ サンプルコード を作ってみました。 SET SERVEROUTPUT ON; DECLARE vUSER_ID NUMBER; vUSER_NAME VARCHAR2(100); vRANK_CODE NUMBER; vMAX_COUNT NUMBER := 1000; vCOMMIT_UNIT NUMB ...

SQL*Loader で フィールド を入れる 制御ファイル サンプル

SQL * Loader の 制御ファイル (コントロールファイル) において、文字や数値、日付、シーケンスといった値を挿入する場合のサンプルを記載します。 文字 (varchar) 数値 (number) 日付 (DATE) シーケンス (SEQUENCE) 固定値 文字 (varchar) ( NAME ) 数値 (number) ( AMOUNT DECIMAL EXTERNAL ) 日付型 (DATE) ( REGISTER_DATE DATE "YYYY/MM/DD HH24:MI:SS" ) シーケンス (SEQUENCE) ( USER_ID "USER_ID_SEQ.NEXTVAL" ) 固定値 固定値は必要に応じてデータベースの型に変換されます。 ( column_name CO ...

SQL*Loader の 使い方

SQL*Loader を用いて oracle データベース に CSVファイル を取り込む方法について調べたので、 ここでは、もっとも単純な入門編的な位置づけで記事を記載します。 SQL*Loader を利用するにあたり、準備するファイルは "CSVファイル" と "制御ファイル (コントロール・ファイル)" の 2ファイル です。 "CSVファイル" は 投入するデータそのものを記載します。 "制御ファイル (コントロール・ファイル)" は 投入元 CSVファイル と 投入先 テーブル の マッピング を定義します。 2つのファイルが準備できたら、 sqlldr コマンド で CSVファイル を テーブル にインポートします。 目次 データ投入先テーブル CSVファイル の 準備 制御ファイル (コントロール・ファイル) の 準備 テーブル へ ...

黒猫 SQL Studio で .mdf (SQL Server データベース ファイル) を 開く

そこに存在する SQL Server Express の データベース ファイル(拡張子 .mdf のファイル) を、黒猫 SQL Studio で開いて内容を見る方法です。 黒猫 SQL Studio は無料のツールでインストールが不要(配置のみで動作)なので、個人的には好んで使っています。 SQLコマンドはもちろん、デーブル内容の閲覧もできます。 以下では .mdf ファイル を 黒猫 SQL Studio で開くまでの手順を記載します。 黒猫ソフトウェア工房 黒猫 SQL Studio メニュー [データベース]-[データベースに接続]を選択します。 データベース接続 [新規追加]ボタンを押下します。 接続文字列の編集 接続文字列のオプショ ...

VisualStudio で .mdf (SQL Server データベース ファイル) を 開く

そこに存在する SQL Server Express の データベース ファイル(拡張子 .mdf のファイル) を、Visual Studio で開いて内容を見る方法です。 あくまで "そこにある" なので、プロジェクトやソリューションに含まれている場合は除きます。 こうした状況で、具体的に データベース ファイル の内容を閲覧する手順を記載します。 Visual Studio メニュー [表示]-[サーバー エクスプローラー]を開きます。 サーバー エクスプローラー [データベースへの接続]ボタンを押下します。 データ ソースの選択 データ ソースで「Micosoft SQL Server」を選択し、「続行」を押下します。 ...

Excel で .mdf (SQL Server データベース ファイル) を 開く

Visual Studio で作成した SQL Server Express の データベース ファイル(拡張子 .mdf のファイル) を、Excel で開いて内容を見る方法です。 内容を閲覧、確認する"だけ"であれば Excel で可能でした。 ここでは、その具体的な手順を記載します。 Excel を起動します。 Excel リボン [データ]-[その他のデータ ソース]-[データ接続ウィザード]を選択します。 データ接続ウィザード 「その他/詳細」を選択して、「次へ」を選択します。 データリンク プロパティ 「プロバイダー」タブでは「Microsoft OLE DB Provider for SQL Server」を選択して、「次へ」 ...

C# で .mdf (SQL Server データベース ファイル) を 開く

Visual Studio の プロジェクト に追加された SQL Server データベース ファイル (mdf ファイル) を SqlConnection を用いて開いて利用する方法を見ていきます。 テーブル は サーバー エクスプローラー で 開いて GUI を使ってあらかじめ登録してあるものとします。 (サンプルコードでは Person テーブル が作られている前提の処理となっています。) サンプルコード の ダウンロード (※ SQL Server データベースの中身を見る or 操作するだけなら 黒猫 SQL Studio が個人的には好みです。) サンプルコード(抜粋) namespace DataBaseService.Controllers { using System; using System.Collections.Generic; ...