C#

意味不明な実行時例外

C#でプログラムを書くときに、コンストラクタでは例外をスローしないように注意しています。たとえとば、ファイルのIOやデータベースの接続などはそれらのコンストラクタではしないようにしています。 ところが、今回作ったアプリケーションで開発環境以外で…

大量データを扱う難しさ

これまでも数千万レコードのデータを処理することは幾度かありましたが、大変苦労してきました。今回テストデータと言うことで、数百万件のデータをC#からDMLの発行で作成してみましたが、いろいろと問題が出てくるものです。 いわゆるバッチ処理の難しさに…

DataBindings[“Text”].WriteValue()

画面上のコントロールにDataBingindingsを使用して値をセットする方法について、なんだかしっくりこなかったので確認してみました。具体的には、WriteValue/ReadValueメソッドの動きを確認したかったのですが、結論としては、DataBingingsに設定するオブジェ…

BitmapファイルをBase64でエンコーディングする

C#

C#で画像ファイルをデータベースへ保存する場合、バックアップの利便性を考慮するとBlob形式で保存するよりも文字列として保存したい。たとえばPostgresではBlob型はテーブルの列に参照先の情報(ポインタ)が保存されるだけなので、データのバックアップ時に…

Form.Shownメソッド

起動時に画面を最小化してそのまま画面を閉じて処理を終了するアプリケーションを作成していたのですが、このときにForm.Shownメソッドを使用しました。 Form.Shownイベント Form.Shownメソッドは、フォームが表示される最初に一度だけ発火するイベントです…

Parallelを使用してみる

C#4.0から並列処理を行う方法としてParallelというクラスが追加されました。メニーコア環境が当たり前となってきた昨今では、以下にたくさんのコアを利用して処理時間を短縮するかということも実装手段の一つになるでしょう。 ということでどのような感じで…

BindingSourceへエンティティをバインドする

BindingSourceへエンティティオブジェクトなどをバインドするときに嵌ったのでメモ。 これまでは主にBindingSouceへバインドするもはIListを実装しているかDataTableが多かったためBindingSource.DataSourceへバインドすることばかりでした。今回IDataErrorI…

DoubleClickイベントとMouseDoubleClickイベント

今まであまり意識してこなかったのですが、WindowsFormでダブルクリックしたときのイベントとしてDoubleClickイベントとMouseDoubleClickイベントの2つのイベントがそれらしく存在しています。ダブルクリック以外にも、クリックイベントも同様のイベントがあ…

Chartコントロール

なんだかんだ言ってもC#ばかり触っている今日この頃。Androidと違って古巣は居心地がいいものです。まったりした気分でWindowsFormのChartコントロールをいじっていたところ、いろいろとわかったことがあったのでメモしておきます。 今までは円グラフの凡例…

Postgresで二層コミット

PostgreSQLバージョン8.4.6で二層コミットを行おうとしたところエラーが発生してうまく行えない現象に遭遇しました。二層コミットはC#で作成したアプリケーションでTransactionScopeを使用して行おうとしたのですが…。 これまでは、MySQLにしろ、SQL Server…

MissingMethodException

リフレクションでプロパティに値をセットしようとしたところ、意外な例外がスローされてきたのでちょっとびっくりした。その例外が MissingMethodException 。 通常、存在しないクラス メソッドにコードでアクセスしようとすると、コンパイル エラーが生成さ…

MySQLのログファイルについて

MySQLにはいくつかログファイルがありますが、接続情報や実行したSQLのログを出力するオプションがあります。具体的には設定ファイルの[mysqld]に"log=…"で記載した場合が該当します。 このログファイルに記載される情報でC#から接続したときに"Quit"が出力…

System.BadImageFormatException

すでに作成したソリューションを必要に迫られて再度構成し直したところ、NUnitでSystem.BadImageFormatExceptionがスローされるという現象が発生しました。ビルドは正常に終了しているし、参照も正常に登録されているので何でだろうと不思議に思い調べてみま…

SherpSSHを使用してSSH接続を行う

訳あってC#からSSH経由でLinuxへ接続するアプリケーションを作成しているのですが、そのときに嵌ったところをメモします。 C#でSSHを使用する場合、いろいろな方法が考えられると思いますが私はSharpSSHを使用しています。今までも使用してきて特に不便を感…

64bit Windows7上のVisualStudio2010でエディットコンティニューが使用できない(C#)

64bit版Windows7でVisualStudio2010を使用した開発を行っていると、いろいろ今までできたことができなくなっていると感じます。たとえば、エディットコンティニュー。今まではデバッグ中に編集ができたのに…。 はい、すでにGoogleで検索をすればいろいろ情報…

System.IO.FileLoadException

SQLiteをデータベースとして使用してC#でプログラムを書いていると、初回実行時にSystem.IO.FileLoadExceptionがスローされてしまう。 いつも忘れてしまうのですが、App.configに以下の内容を追加すれば例外は発生しなくなります。 <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> この中で、startup…