2017-03-29 5 views
0

問題が発生しています。私は以下に掘り下げられたコードの変換失敗エラーを取得します。日付または時刻を変換すると変換に失敗しました

私の開発環境では、なぜこのようなことが起こっているのかを特定することはできません。エラーは発生せず、すべてが円滑に実行されます。

Dim PrdDate As Date 
     SQL.ReturnRead = 0 
     PrdDate = dtpDataInput.Value.Date 
     MsgBox(PrdDate) 
     SQL.ReadQuery("SELECT CAST(DATEDIFF(second, TimeDown, TimeUp)/60/60 % 24 AS NVARCHAR(50)) + '.' 
       + CAST(DATEDIFF(second, TimeDown, TimeUp)/60 % 60 AS NVARCHAR(50)) as HrsDown From UDOData 
       WHERE (cast(TimeDown AS DATE) = '" & PrdDate & "' 
       AND CAST(TimeUp AS DATE) = '" & PrdDate & "') and FleetNo = '" & FleetStr & "'") 
     UDOHRS = SQL.ReturnRead 

ライブ環境の地域の設定を確認しても問題はありません。 SQL Server用のフォーマットが

は、それが常にYYYYMMDDとしてそれをフォーマットする方が良いでしょうすべての人の助けを借り

+1

が理由だけで文字列を連結の適切なパラメータを代わりに使用していないでしょうか? SQLインジェクションを可能にするテストシナリオの作成[Bobby Tables:SQLインジェクションを防ぐためのガイド](http://bobby-tables.com/) – SqlZim

答えて

2

いただきありがとうございます。

だけ

WHERE (cast(TimeDown AS DATE) = '" & PrdDate.ToString("yyyyMMdd") & "' 
+0

ありがとう!魅力的な作品... –

関連する問題