備忘録

エクスプローラのメニューバーからファイルを消す方法

Microsoft 管理コンソールから、ポリシーの設定を行う。 その辺は調べればすぐに出てくるだろう。ユーザーの構成-管理用テンプレート-Windowsコンポーネント-エクスプローラ内に エクスプローラから[ファイル]メニューを削除するを選択して、有効にする。既…

.NET TransactionScopeの落とし穴

using句を利用してTransactionScopeを使うというマイクロソフト推奨の方式を利用して更新処理を実装している訳だが、Completeメソッドを呼んでいないにも関わらずデータがCommitされているという現象に直面した。原因としては、ある時期を境に発生しはじめた…

.NETでメソッド等を動的に呼び出す

TypeクラスのInvokeMemberメソッドを使う。http://msdn.microsoft.com/ja-jp/library/66btctbe(v=vs.80).aspx Option Strict on にしている場合、データ型に気を付けていないと FormatException等ではなくMissingMethodExceptionが発生する。 メソッド名と引…

Windowsにて、そのプロセスのユーザだからといってもそれを管理しているわけでもないらしい。

Windows7でタスクスケジューラで端末起動時に、ログオン前にあるユーザの権限でアプリ起動させた後、そのユーザでログオンしてもタスクマネージャにそのアプリのプロセスが出ない。 全ユーザのプロセスみたら動いてるけど。 どうもサービスみたいにバックグ…

PL/SQLで Nullチェックに <>"" とか使うな

普通のSQLでもそうみたいだが、比較演算子使って比較する対象にNULL使うと結果がNULL返して、分岐は全部False側通るようだ。他人の作ったプロシージャの動作確認してて全然想定通り動かないので何かと思ったら上記の落とし穴にはまっていた。 NULLかどうかで…

型付データセットの自動拡張?

ある型付データセットに紐づくSqlDataAdapterクラスのSelectCommandプロパティに、データセットで宣言されていないカラムをSelect句に含むクエリを渡してfillメソッドでデータを取得したら、宣言されていないカラムの分も勝手に拡張されて取得されていた。 …

単純な結合のみのマテリアライズドビューの高速リフレッシュを設定する。

マテリアライズドビューを作る前に、マテリアライズドビューログ が必要。 で、適当にやってみたけどうまくいかない。 (中略) 結論として、マテリアライズドビューのselect句の中に元表の rowidを仕込まなければならなかったようだ。こんな感じ CREATE MATE…

DataViewRow から DataRowを取得したり、DataRowを別のDataTableに突っ込んだり

DataViewRowクラスのrowプロパティを利用する。 これでソート後に別のDataTableにコピーできる。DataTableクラスから特定のデータだけ引っこ抜いて別のDataTableオブジェクトに突っ込む場合は、DataTableクラスの ImportRowメソッドを利用する。 Selectして…

SQLServer の Case Sensitive

全然使わないので知らなかったけど、SQLServer はカラムの大文字小文字を素で判別する仕組み持っているようだ。 普段Oracleしか使わないんでカラム名が大文字か小文字かなんて全く考えてなかったが、SQLServerに投げたSQLでデータ取得出来ないのが何事か…

【SQL】Select句内での副問い合わせ

どうも外部結合を行うらしい。select a.code, (select b.name from master b where a.code = b.code) name from table a こんな感じ。 ただ、実際に動かした訳じゃないので上記のクエリが正しいかは不明。 日頃全然使わなくて、どうもSelect句内でも副問い合…

JSON

正しくは JavaScript Object Notationというらしい。 下記のように宣言したオブジェクトに対して プロパティや連想配列のようにして値を取得出来る。 var a = {a: 111, b: 222}; a.a; や a["a"];で111の値が取得出来る。 ・JSONで記述しても、結局はオブジェ…

delegate と invoke

↓見ればわかる。 http://www.atmarkit.co.jp/fdotnet/dotnettips/312ctrlinvoke/ctrlinvoke.html