オブジェクト変数を宣言するコードがあります。この変数には、既存のデータベースフィールドの値が割り当てられています。文字列形式のSQL datetime
Dim datestart As Object
datestart = dbToDate(dr("DateStart"))
変数は、NULLかどうかをチェックしてdatetimeデータ型に変換する関数に渡されます。
Public Shared Function dbToDate(o As Object) As DateTime
If o Is DBNull.Value Then
Return Nothing
Else
Return Convert.ToDateTime(o)
End If
End Function
私はそれを行う必要がある最後の事は、私は新しいデータベースに挿入できるように、文字列、DD/MM/YYYYを、フォーマットされた日付に変換されます。私がこれまで持って
機能は、私は、コードを実行すると、私は次のエラーメッセージを取得する、しかし
Public Shared Function sqlDate(dt As DateTime) As String
Return "'" & Format(dt, "yyyyMMdd") & "'"
End Function
ある
datetimeデータにvarcharデータ型の変換タイプが範囲外の値になりました。
なぜ、これを修正しますか?
DateStart列のテーブル内の値を確認してください。 1つ以上の行に、c#DateTime型で指定された範囲外の値が含まれています。 –
@TheShooterこれはvb.netではなく、C# –
です。申し訳ありませんが、言語に注意するのを忘れていましたが、言語は無関係です。すべての.net言語の根底にあるデータ型は同じです。 datestart = dbToDate(dr( "DateStart"))文にブレークポイントを設定し、dr( "DateStart")の値をチェックし、DateTime.MixとDateTime.Maxの間にあるかどうかを確認します。あるいは、DateTime.MinとDateTime.Maxの値を書き留め、この範囲外の値を持つ行をsqlテーブルで検索します。 –