1

以下の INSERT ステートメントを使用して、SQL データベースの日時フィールドに NOW を挿入しています

<%
 varAlert = request.querystring("alertID")
 varInspector = session("stUserid")
 varDateRead = NOW 

dim sqlalerts

Set con = Server.CreateObject("ADODB.Connection")
    con.Open MM_inspections_STRING

sqlalerts = "INSERT INTO dbo.tbl_AlertsRead (alertID, inspectorID, dateread) VALUES ('"  & varAlert  & "' ,'"  & varInspector  & "','"  & varDateRead & "')"
con.Execute sqlalerts

    con.Close
    Set con = Nothing

%>

しかし、それは戻ってきます:

Microsoft OLE DB Provider for ODBC Drivers エラー '80040e07'

[Microsoft][SQL Server Native Client 10.0][SQL Server]varchar データ型を datetime データ型に変換すると、範囲外の値になりました。

/html/admin/inspectorsAlertView.asp、25 行目

行 25 は実行ステートメントです。途方に暮れています。NOW は有効な日時を返します。フィールド 'dateread' は間違いなく日時フィールドであり、上記の INSERT は何十回も問題なく機能しています。

4

1 に答える 1

2

今日は 11 月 13 日です。英国では 13/11/2012 と表記されますが、米国では 11/13/2012 となります。間違った形式で日付を挿入していると思います。これは、13 番目の月を使用しようとしていることを意味します。

日付は有効でしたが、データベースに誤った値が保存されていたため、これは以前は機能していたと思われます。以前に挿入された値についてデータベースを確認してください。

于 2012-11-13T09:58:55.827 に答える