名前の付いたテーブルが 1 つありますCivilStatus
CivilStatus
これらの列があり、すべてbit
データ型があります:
Single (bit)
Married (bit)
Widow (bit)
Separated (bit)
Live-in (bit)
ここで、VB.NET で CheckedListBox という名前のプロジェクトを作成しましたclbCivilStatus
。CheckedListBoxitems
プロパティ内には、上に挙げたコレクションがあります。これは、ストアド プロシージャを使用してテーブルに値を設定するために作成したコードです。
Dim single as Boolean
Dim married as Boolean
Dim widow as Boolean
Dim separated as Boolean
Dim livein as Boolean
single = IIf(clbCivilStatus.SelectedItem(0), 1, 0)
married = IIf(clbCivilStatus.SelectedItem(1), 1, 0)
widow = IIf(clbCivilStatus.SelectedItem(2), 1, 0)
separated = IIf(clbCivilStatus.SelectedItem(3), 1, 0)
livein = IIf(clbCivilStatus.SelectedItem(4), 1, 0)
Dim strConn As String = "my sql connection"
Dim sqlCon As SqlConnection
sqlCon = New SqlConnection(strConn)
Using (sqlCon)
Dim sqlComm As New SqlCommand
sqlComm.Connection = sqlCon
sqlComm.CommandText = "Insert"
sqlComm.CommandType = CommandType.StoredProcedure
sqlComm.Parameters.AddWithValue("Single", single)
sqlComm.Parameters.AddWithValue("Married", married)
sqlComm.Parameters.AddWithValue("Widow", widow)
sqlComm.Parameters.AddWithValue("Separated", separated)
sqlComm.Parameters.AddWithValue("LiveIn", livein)
sqlComm.ExecuteNonQuery()
End Using
...しかし、ビジュアルスタジオは私にこのエラーを与えます:
InvalidCastException が処理されませんでした
タイプ 'Char' からタイプ 'Boolean' への変換は無効です。
データベースにブール値が必要です。CheckedListBox を使用してこれを行う方法はありますか?