C#で普通にint型を使う時、データベースからExecuteScalar()使って単にレコード数を取得するのに
cmd.CommandText = "SELECT COUNT(*) FROM テーブル"; int iRec = (int)cmd.ExecuteScalar();てな感じでしようとするとエラーになる。まあ、System.Int64をSystem.Int32にしようとすれば、オーバーフロー起こす可能性はあるので分からんでもないけど、
int iRec = Convert.ToInt32(cmd.ExecuteScalar());とする必要があった。まあ、実際にはレコード数がInt32でオーバーフローする程のデータを抱える事は想定してませんが面倒な話です。
あっ、でもこれ、今回のプロジェクトのターゲットをJV-Linkが64bit未対応な為にx86にしているのが原因なのかも。そうだとするとJV-Linkが64bit化されたらこんなコーディング不要なのかも?
0 件のコメント:
コメントを投稿