いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

2007-08-01から1ヶ月間の記事一覧

ADO.NET入門記-010 (CommandBuilderの使用(Insert,Update,Delete) (CommandBuilder, DataAdapter, Fill, Update))

前回は、手動で各変更系のコマンドオブジェクトを作成していましたが、ADO.NETにはCommandBuilderという クラスが存在しており、それを使用することにより以下の効果を得ることが出来ます。 SelectCommandのみを作成し、それ以外の変更系のコマンドについて…

ADO.NET入門記-009 (DataAdapterの使用(Insert,Update,Delete) (AcceptChanges, DbDataAdapter, Fill, Update, InsertCommand, UpdateCommand, DeleteCommand))

引き続き、データアダプタに関しての記事です。 今回は、変更系の処理を行なってみます。 変更系となると、Insert, Update, Deleteの3つが存在するのですが、 これらもSelectの場合と同じく、コマンドオブジェクトを作成し、データアダプタにセットします。…

ADO.NET入門記-008 (DataAdapterの使用(Select) (DbDataAdapter, Fill, SelectCommand))

DataAdapterクラスは、ADO.NETにおいて接続型オブジェクト(DataReader等)と非接続型オブジェクト(DataSet, DataTable) の橋渡しを行なう為のクラスです。 このクラスを利用すると、クエリの結果をデータテーブル及びデータセットに簡単に取り込めるようにな…

TransactionScopeのタイムアウト設定 (TransactionScope, TransactionScopeOption, TimeSpan)

System.Transactions.TransactionScopeクラスを利用する際に、トランザクションのタイムアウトを指定するには 以下の方法があります。 machine.configに指定。 コンストラクタにて、指定。 今回は、2の方法でやってみます。 指定する値は、TimeSpanオブジェ…

同じデータテーブル間で行データを移行する方法 (DataTable, DataRow, AcceptChanges, LoadDataRow, ItemArray)

以下のような状況があるとします。”あるデータテーブルAとデータテーブルBが存在しており、この2つのデータテーブルはどちらも同じ型である。 その際、テーブルAからテーブルBへ特定の条件にマッチした行データ(DataRow)を移行したい。” つまり、以下のよう…

OracleでTransactionScopeを使用する際の注意点 (System.Data.OracleClient.OracleConnection, oramts, TransactionScope)

Oracle(10gR2)でTransactionScopeを利用する際に、以下のエラーがでる場合があります。 "oramts.dllが見つかりません。" このエラーが出た場合、以下の点を疑ってみてください。 マシンに、Oracle Services For Microsoft Transaction Service (OraMTS)がイ…

列挙体(Enum)値を動的に取得する (System.Enum.Parse)

C#

Enumの値を動的に取得するには、以下のメソッドを利用します。 System.Enum.Parse(Type enumType, object value) 以下のようにして使用します。 // // MessageBoxIconの値を動的に取得する。 // foreach(string enumValue in new string[]{"Error", "Informa…

ADO.NET入門記-007 (コマンドの非同期実行(System.Data.SqlClient.SqlCommand,BeginExecuteReader,EndExecuteReader))

SQL Serverに関してのみのやり方ですが、SQL Serverの場合は、コマンドの非同期実行の仕組みがSqlCommandオブジェクトに 用意されています。System.Data.OracleClient等には、同じ機能は存在しませんのでご注意を。 非同期実行のやり方は、delegateの非同期…

ADO.NET入門記-005 (接続型のデータの読み取り(IDbCommand, DbCommand, ExecuteScalar, ExecuteReader))

ADO.NETには、2種類のタイプがあります。 一つは、接続型。つまり、コネクションを開いた状態でデータの読み取りなどを行なうパターン。 もう一つは、非接続型。データのやり取りを行なう時のみコネクションを開いていて、データを読み取り、 コネクションと…

ADO.NET入門記-006 (Insert,Update,Deleteの発行(DbCommand, DbParameter, TransactionScope))

前回は、Selectの発行をやってみましたので今回はInsert,Update,Deleteという所謂データの変更を行なう SQLを発行してみます。 とはいっても、基本はSelectの時とほぼ同じです。 DbConnectionからDbCommandを作成し、CommandオブジェクトのCommandTextプロパ…

ADO.NET入門記-001 (コネクションの確立及び解放)

現在ADO.NET 2.0を勉強しているので、その過程をちょこちょこメモしていこうと 思っております。見た目は簡単ですが、やってみると結構ややこしいADO.NET絡み。 実務では必須の知識になるので、いろいろメモしていきたいなと思います。 今回は、もっとも基本…

ADO.NET入門記-002 (ConnectionStringSettingsを用いて接続文字列を取得)

ADO.NET 2.0より、System.Configuration名前空間に以下のクラスが追加されています。 System.Configuration.ConfigurationManager このクラスは、マシン構成情報(machine.config)とアプリケーション構成情報(app.config)にアクセスする事が 出来るクラスです…

ADO.NET入門記-003 (接続文字列の暗号化(aspnet_regiis))

通常、GUIツールを使用しても手動で接続文字列を書いても、接続文字列自体は プレーンテキストとなります。でも、このままではセキュリティ上駄目な場合が 多いです。その場合は、暗号化という手段をとるのですが、app.configファイルを 使用している場合は…

ADO.NET入門記-004 (コネクションプーリングをする場合としない場合の速度差)

.NETフレームワークに最初から登録されているデータプロバイダは、接続する際デフォルトで コネクションプーリングがONの状態となります。これを明示的にプーリングしないようにするには 接続文字列に以下のように設定します。(SQL Server及びOracleの場合。…

DbProviderFactoryを用いてのデータベース接続の確立(System.Data.Common.DbProviderFactory, machine.config)

ADO.NET2.0から、DbProviderFactoryクラスが追加され、それに伴い 各接続型オブジェクトがファクトリメソッド経由で生成できるようになっています。 DbProviderFactoryオブジェクトは、DbProviderFactoriesクラスからGetFactoryメソッド経由で 取得するよう…

Oracle Database 10g Express Edition (OracleXE)

私自身、よくサイトのURLを失念するので、ここにメモっておきます。 Oracleの無償版のデータベースです。10gR2がベースとなっています。以下の場所からダウンロードできますが、その際、oracle.comにユーザ登録 している事が必要です。 Oracle Database 10g …

SQL ServerのBooks Onlineドキュメントのダウンロード

C#

以下メモです。 SQL Server 2005を利用する上で欠かせないチュートリアルやリファレンスを 含んだドキュメントのダウンロード先です。 現在最新は、2007年5月分みたいです。 以下からダウンロードできます。 SQL Server 2005 Books Online (2007 年 5 月) ht…

Vim7.1 香り屋版が公開されました!!

vim

香り屋さんの方で配布されているVim香り屋版の7.1が公開されています。 私のメインエディタでもあり、長年いっしょに苦難を乗り越えてきたエディタです。 これがないと何も出来ないかも・・・(w いつも、使いやすい環境の状態で公開してくださっている香り…

IronRuby-Pre-Alpha版のソースコードがリリース

大分情報が遅れてますが、IronPythonに続き、IronRubyも プレアルファ版がソースコードですがリリースされてます。 PythonとRubyは、仕事で、よくちょっとした自動作業をさせたいときに 使ったりしてます。(Excelの操作やデータベース作業など) これがないと…

OVal (the object validation framework for Java™ 5 or later)

java5/6用の汎用検証フレームワークらしいです。 本家のページに行くと分かりやすいサンプルが記述されています。 アノテーションを多用するみたいですね。 .NETにも同じようなものが無いのかなと思う今日この頃です。 以下、参考リソースです。 OVal本家 ht…