- ベストアンサー
DBNULLについて
課題でVBからデータベースの操作についてのプログラムを作成しているのですが、どうしてもエラーが出るのでお願いします。 フォームロード時に下の処理をしているのですが、 Dim sql As String Dim cm As OleDb.OleDbCommand Dim rd As OleDb.OleDbDataReader sql = "select max(番号) as 数 from アドレス帳" Try cm = New OleDb.OleDbCommand(sql, cn) rd = cm.ExecuteReader Catch ex As Exception MessageBox.Show(ex.Message, "Access Error", MessageBoxButtons.OK, MessageBoxIcon.Error) rd.Close() Exit Sub End Try If rd.Read Then frmMenu.num = rd.Item("数") frmMenu.num += 1 End If frmMenu.num += 1 txtnum.Text = frmMenu.nu この部分なんですが、 If rd.Read Then frmMenu.num = rd.Item("数") frmMenu.num += 1 End If frmMenu.num += 1 txtnum.Text = frmMenu.nu ・frmMenu.num はInteger型の変数です。初期値に0が入っています。 この部分では、データが読めた場合はデータベースの方から 数を引っ張ってきて、+1をして、読めない(データがない) 場合には+1だけをしたいのですが、データがある時は正常に 動くのですが、データがない時に動かそうとすると、 型 'DBNull' から型 'Integer' への変換は無効です のエラーがでて困っています。 これは、読めたか読めなかったか判定出来ていないということなのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- rancyan
- ベストアンサー率0% (0/2)
お礼
できました。 ありがとうございます。