2022/11/20

SQLiteでの検索で

 そもそも、データベースアクセスとか真面目にコーディングとかした経験が浅いので手探りで進めてはいるんですが、単純な物は簡単に実装してきたと思うんです。しかし、なぜか奇妙な動きをするのでデバッグしてみると...

カラムが文字列の場合、

cmd.Parameters.Add(new SQLiteParameter("@DKUBUN", "1"));

とすれば問題なく行けます。しかし、カラムが整数の時、

cmd.Parameters.Add(new SQLiteParameter("@UMABAN", 0));
とすると問題があります。これだとDbTypeがAnsiStringとかでValueがNullとなります。で、当たり前ですが思ったような検索結果は得られません。そこで、面倒ですが、
cmdC.Parameters.Add("@UMABAN", System.Data.DbType.Int32);
cmdC.Parameters["@UMABAN"].Value = 0;
とすれば、期待通りのDbTypeがInt32でValueが0となります。これって当たり前の話なのかな?う~む、今後コーディングで気をつけなきゃです。ここまで殆どパラメーターには変数使ってたので問題が起きなかったんだと予測。定数を指定してるのが原因かな^^;

何故か、投稿は11月20日の日曜日にしてるのに前日になってる😱

0 件のコメント:

コメントを投稿