そもそも、データベースアクセスとか真面目にコーディングとかした経験が浅いので手探りで進めてはいるんですが、単純な物は簡単に実装してきたと思うんです。しかし、なぜか奇妙な動きをするのでデバッグしてみると...
カラムが文字列の場合、
- cmd.Parameters.Add(new SQLiteParameter("@DKUBUN", "1"));
とすれば問題なく行けます。しかし、カラムが整数の時、
とすると問題があります。これだとDbTypeがAnsiStringとかでValueがNullとなります。で、当たり前ですが思ったような検索結果は得られません。そこで、面倒ですが、
- cmd.Parameters.Add(new SQLiteParameter("@UMABAN", 0));
とすれば、期待通りのDbTypeがInt32でValueが0となります。これって当たり前の話なのかな?う~む、今後コーディングで気をつけなきゃです。ここまで殆どパラメーターには変数使ってたので問題が起きなかったんだと予測。定数を指定してるのが原因かな^^;
- cmdC.Parameters.Add("@UMABAN", System.Data.DbType.Int32);
- cmdC.Parameters["@UMABAN"].Value = 0;
何故か、投稿は11月20日の日曜日にしてるのに前日になってる😱
0 件のコメント:
コメントを投稿