開発をされている方は、ご存知の方が多いのでしょうか?
納品したシステムで不具合の連絡がありました。
聞くと、全角文字と半角文字でそれぞれ同じ文字列をキーに持つデータがあり
システム的にキー違反の警告メッセージを表示していました。
DB的には問題なく登録できるデータでした。
例えば、こういうことですね。
hoge ・・・ 半角文字
hoge ・・・ 全角文字
解析してみると、DataTableにデータを突っ込んで、DataTableのRowFilterで
キー項目を抽出し、件数を取得していました。
datatable.RowFilter = “key=’hoge'”
すると、件数が 2件 となったわけです。
上記の現象と同じように、大文字・小文字の関係でも同じ結果になりました。
hoge ・・・ 小文字
HOGE ・・・ 大文字
<対応策>
解決策として、以下のように対応しました。
DataTableのプロパティ CaseSensitive を True に設定する。
dataTable.CaseSensitive = True
でも、毎回設定するのは面倒ですよね。
DataTableを継承して、カスタムクラスを作成しようか検討中です。
コメント