1

なぜこれがうまくいかないのか尋ねたいだけですか?

予約システム(またはそのようなもの)のデータを取り戻そうとしています。

問題は、ifステートメントが1つだけになり、2番目のステートメントが無視されることです。

VB.netを使用して、MySQLデータベースに接続しようとしています。

皆さんありがとう...

Petr

答えてくれてありがとうみんな私はすべての問題を試してみますそれが=月曜日と言わないなら、それはチェックボックスの色を白にするべきだということです。

セレクトケースを試してみます。

いくつかの変更を加えて、チェックボックスリストを追加しました。問題は、別の日にチェックボックスをオフにすることです。

    CheckBoxListMon.BackColor = Drawing.Color.White
    CheckBoxListMon.Enabled = True
    CheckBoxListMon.ClearSelection()

これにより、チェックボックスが有効になり、選択されなくなりますが、それでもクリックできません。無効になっています。

誰かアイデアがありますか?

    Try
        strQuery = "SELECT BookingDate, BookingTime,BookRegUserID,Booked FROM bookings"

        MySQLCmd = New MySqlCommand(strQuery, dbCon)

        dbCon.Open()

        DR = MySQLCmd.ExecuteReader

        While DR.Read

            bookDate = DR.Item("BookingDate")
            bookTime = DR.Item("BookingTime")
            bookRegID = DR.Item("BookRegUserID")
            booked = DR.Item("Booked")

            Select Case True

                Case bookDate = lblMonday.Text And    CheckBoxListMon.Items.FindByValue(test) IsNot Nothing

                    CheckBoxListMon.Items.FindByValue(bookTime).Enabled = False
                    CheckBoxListMon.Items.FindByValue(bookTime).Selected = True
                    CheckBoxListMon.Items.FindByValue(bookTime).Attributes.Add("Style", "color: red;")


                Case bookDate = lblTuesday.Text And CheckBoxListTue.Items.FindByValue(test) IsNot Nothing

                    CheckBoxListTue.Items.FindByValue(bookTime).Enabled = False
                    CheckBoxListTue.Items.FindByValue(bookTime).Selected = True
                    CheckBoxListTue.Items.FindByValue(bookTime).Attributes.Add("Style", "color: red;")
        End While
        DR.Close()
        dbCon.Close()
    Catch ex As Exception

    End Try
4

3 に答える 3

1

私は今問題を見ていると思います。コンボボックスが一致しない場合は、コンボボックスを元に戻したくありません。月曜日の火曜日が結果セットに返されるとします。最初の行は月曜日をtrueに、火曜日をfalseに切り替え、2番目の行は月曜日をfalseに設定します(これはあなたが望んでいないと思います)。火曜日をtrueに設定し、すべてを最後の行で決定します。答えは、行を処理する前にそれらをすべてfalseに設定し、一致する場合にのみtrueに設定し、それ以外の場合は無視することです。

   CbMon10.BackColor = Drawing.Color.White
    CbMon10.Checked = False
    CbMon10.Enabled = True
    CbTue10.BackColor = Drawing.Color.White
    CbTue10.Checked = False
    CbTue10.Enabled = True

DR.Read中

bookDate = DR.Item("BookingDate")
bookTime = DR.Item("BookingTime")
bookRegID = DR.Item("BookRegUserID")
booked = DR.Item("Booked")

    Select Case True
        Case bookDate = lblMonday.Text And bookTime = CbMon10.Text
            CbMon10.BackColor = Drawing.Color.Red
            CbMon10.Checked = True
            CbMon10.Enabled = False

        Case bookDate = lblTuesday.Text And bookTime = CbTue10.Text
            CbTue10.BackColor = Drawing.Color.Red
            CbTue10.Checked = True
            CbTue10.Enabled = False

    End Select

End While
于 2012-11-24T15:18:27.683 に答える
0

if-else-ifこのようなはしごを使用する必要があります:

 If bookDate = lblMonday.Text And bookTime = CbMon10.Text Then
        CbMon10.BackColor = Drawing.Color.Red
        CbMon10.Checked = True
        CbMon10.Enabled = False
 Else If bookDate = lblTuesday.Text And bookTime = CbTue10.Text Then
        CbTue10.BackColor = Drawing.Color.Red
        CbTue10.Checked = True
        CbTue10.Enabled = False
 Else
        CbTue10.BackColor = Drawing.Color.White
        CbTue10.Checked = False
        CbTue10.Enabled = True
 End If
于 2012-11-24T15:07:31.180 に答える
0

複数のifの代わりに、次のように使用できます。-

  If (bookDate = lblMonday.Text And bookTime = CbMon10.Text) or (bookDate = lblTuesday.Text And bookTime = CbTue10.Text) Then
            CbMon10.BackColor = Drawing.Color.Red
            CbMon10.Checked = True
            CbMon10.Enabled = False
        Else

            CbMon10.BackColor = Drawing.Color.White
            CbMon10.Checked = False
            CbMon10.Enabled = True
        End If
于 2012-11-24T15:07:32.397 に答える