2017-01-30 9 views
0

C#でのSQL SERVER(DATE)からGET値が言葉 "データ" ですスロー例外私はC#でクエリに問題がある

SqlCommand kwerenda = new SqlCommand(" 
SELECT [OsobaZglaszajaca], 
     [OsobaDokonujacaNaprawy], 
     [OsobaZglaszajacaUwage], 
     CONVERT(VARCHAR, [DataZgloszenia]), 
     CONVERT(VARCHAR, [PrzewidywanyTerminNaprawy]), 
     CONVERT(VARCHAR, [DataNaprawy]), 
     [TypUsterki], 
     [Maszyna], 
     [RodzajUsterki], 
     [UwagiUE], 
     [UwagiProdukcja] 
FROM warning 
WHERE DataZgloszenia = 'dateadd(day,datediff(day,14,GETDATE()),0)' 
ORDER BY CzyWazne ASC 
", Form1.connect); 

SQLの日付と

変換を投げるがあります文字列から日付および/または時刻を変換すると失敗しました。

+0

'DataZgloszenia'列のデータ型がどのようなものですcast(dateadd(day,-14,GETDATE()) as date)のように書くことができますか? –

+1

'dateadd'行から一重引用符を削除します。 - WHERE DataZgloszenia = dateadd(day、datediff(day、14、GETDATE())、0)' – petelids

+0

データ型は日付 –

答えて

1

また、それは、ここdateadd(day,datediff(day,14,GETDATE()),0)14ことを注目する価値がある条件

SELECT [OsobaZglaszajaca], 
     ... 
FROM warning 
WHERE DataZgloszenia = dateadd(day,datediff(day,14,GETDATE()),0) --here 
ORDER BY CzyWazne ASC 

シングルstring literalsのために、ハード

をコード化しているdatesのために使用されている引用どこで単一引用符を削除します1900-01-15 00:00:00.000と解釈されます。

それは

+0

私はこの1週間を探しています:) –

関連する問題