-1

VB.NETVS 2008を使用していますが、日付の選択に問題があります。

予定のメイン テーブルには、StartDate と CustomerName の 2 つのフィールドがあります。

StartDate には、この方法でフォーマットされた日付が含まれています..

2013-01-29 11:16:41

Dim strSQL As String = "select * from  AppointmentsMain"

上記のようにすべてを選択し、 DataReaderを介して読み取ると、エラーがスローされます。customername フィールドのみを選択すると、正常に動作します。

System.Data.SQLiteラッパーを使用しています。

以下はコードです。メッセージボックスで壊れます。試す

    Dim cn As SQLiteConnection

    Dim cmd As SQLiteCommand

    Dim rdr As SQLiteDataReader

    Dim strSQL As String = "select * from  AppointmentsMain"

    cn = New SQLiteConnection(strPublicConnectionString)

    cn.Open()

    cmd = New SQLiteCommand(strSQL, cn)

    rdr = cmd.ExecuteReader

    If rdr.Read Then

    MsgBox(rdr("startdate"))

    End If

    rdr.Close()

    cn.Close()

    Catch ex As Exception

    End Try 
4

3 に答える 3

0

マシューが言ったように、最初に確認することは、によって返される値rdr("startdate")です。あなたの質問はそれを と呼んでStartDateいますが、あなたのコードはそれをstartdateと呼んでいるので、おそらく大文字と小文字の区別に関連するものです。rdr("StartDate")代わりに使用してみてください。

于 2013-01-29T18:43:23.807 に答える
0

rdr("startdate") によって何が返されますか? これはヌルですか?文字列に解析できませんか?

于 2013-01-29T18:39:40.193 に答える
-1

私もこの問題を抱えていました。私が読んだところによると、互換性のない文字エンコーディングが日付に適用された可能性があります。次のようなものを使用して問題を解決できました。

SELECT DATE(StartDate) AS StartDate, ... FROM AppointmentsMain

これは古い質問であることは知っていますが、どこにも解決策が見つかりませんでした...

于 2013-09-27T21:18:36.977 に答える