-1
私はこの変換に直面している失敗しました。選択したすべての日付をカレンダーで取得し、選択した日付にイベントを表示したい。私は選択された日付を取得することができますが、私は開始日を取得しようとする=選択した日付に。以下のエラーで失敗しました。文字列から日付および/または時刻を変換するときに変換に失敗しました。 SQLで
追加情報:文字列から日付および/または時刻を変換すると変換に失敗しました。
strSQL = " SELECT CalendarID, Company,Header, convert(date,enddate,103)StartDate, convert(varchar,enddate,103) enddate, (starthour + ' : ' + startmin + ' : ' + startday) starttime, (endhour + ' : '+ endmin+ ' : '+ endday) endtime " & _
"FROM tablename where StartDate ='" & calendar1.SelectedDate.ToShortDateString() & "'"
私はこれにコードを変更しようとしているだけでなく、同じエラーを持つ
Dim selecteddates As Date
selecteddates = calendar1.SelectedDate.ToShortDateString()
strSQL = " SELECT CalendarID, Company,Header, convert(date,enddate,103)StartDate, convert(date,enddate,103) enddate, (starthour + ' : ' + startmin + ' : ' + startday) starttime, (endhour + ' : '+ endmin+ ' : '+ endday) endtime " & _
"FROM tablename where StartDate =CAST('" & selecteddates & "' AS DATE) "
これはコーディングの悪い方法です。 SQLクエリでは連結しないでください。それは脆弱です。パラメトリッククエリを使用することをお勧めします – Sankar
ADO.Netは既に.NETの「DateTime」をSQL Serverの「datetime」(または「datetime2」)に変換する方法を知っているため、Sankarの言葉に加えて、 'など)のデータ型であるため、日付を*文字列*としてレンダリングする必要はなく、書式設定の問題を解消できます。 –