1

プログラムは、休暇を与える会社のための予約システム (とりわけ) です。プロパティを表示し、それらを修正したり、さらに追加したりできる画面に取り組んでいます(など)

わかりましたので、他のケースでは問題なく動作しますが、これは受け入れたくないだけです...何かばかげていると思います。基本的に、プログラム全体の最初の読み込みで、データ テーブルに関連情報を入力し、必要に応じてアクセスします。この場合、フォームのプロパティにいて、予約 (FrmBookings で作成されたもの) にアクセスして、いつ確認するかを確認します。宿泊施設は次にゲストを迎えるために予約されます。

Dim Intcounter As Integer = 0
Dim NumberBookingRecords As Integer = BookingsNumRecs

Dim PropertyName As String
Dim PropertyFromBookings As String


Do

    PropertyName = DTProperties(Intcounter)("Property Name").ToString
    PropertyFromBookings = (DTBookings(NumberBookingRecords)("Property").ToString)

    If PropertyName = PropertyFromBookings Then

        lblDateOfArrival.Text = (DTBookings(NumberBookingRecords)("Arrival").ToString)
        Intcounter = Intcounter + 1

    Else

        If Not NumberBookingRecords = 0 Then

            NumberBookingRecords = NumberBookingRecords - 1

        Else

        End If

    End If


Loop Until Intcounter >= intNumPropertyRecs

しかし、それに到達するPropertyFromBookings = (DTBookings(NumberBookingRecords)("Property").ToString) と、オブジェクトのインスタンスに設定できなかったことがわかります... DTBookingsから何をアクセスしようとしても、同じ応答が返されます。

これは、プログラムの開始時の初期ロード形式です。

Dim FSBookings As New FileStream(strFileNameBookings, FileMode.OpenOrCreate, FileAccess.Read)

Application.DoEvents()

If FileLen(strFileNameBookings) > 0 Then
    DTBookings.ReadXmlSchema(strFileNameBookings)
    DTBookings.ReadXml(strFileNameBookings)
    BookingsNumRecs = DTBookings.Rows.Count
    intCurrRec = 1
Else
End If

FSBookings.Close()
blnStopAuto = True
blnStopAuto = False
4

1 に答える 1

0

あなたのコードサンプルに基づいてDTBookings()、関数呼び出しです。ここには 2 つの可能性があります。また:

  1. その関数の結果は でNothingあり、実際のオブジェクトがあるかのように Nothing を使用しようとすると (この場合、("Property")インデクサーを検索しようとすると)、その例外が発生するか、または ...
  2. ("Property") インデックスの結果は Nothing を返します。この場合、.ToString() メソッドを呼び出そうとすると例外が発生します。
于 2013-01-26T13:51:36.403 に答える