Ich bin konfrontiert mit dieser Konvertierung fehlgeschlagen. Ich möchte das gesamte ausgewählte Datum im Kalender und im Show-Event zum ausgewählten Datum abrufen. Ich kann gewähltes Datum aber wenn ich versuche, Starttag = zum ausgewählten Datum zu bekommen. Es ist mit dem Fehler unten fehlgeschlagen.Konvertierung fehlgeschlagen, wenn Datum und/oder Uhrzeit aus Zeichenkette konvertiert werden. in sql
Zusätzliche Informationen: Fehler bei der Konvertierung, wenn Datum und/oder Uhrzeit aus Zeichenfolge zu konvertieren.
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() & "'"
Ich habe versucht, die Codes in das zu ändern, sondern auch die gleichen Fehler mit
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) "
Dies ist eine schlechte Art der Codierung. Führen Sie keine Verkettung in SQL-Abfragen durch. Es ist verwundbar. Ich empfehle Ihnen, parametrisierte Abfragen zu verwenden. – Sankar
Um hinzuzufügen, was Sankar sagt, indem Sie zu Parametern wechseln, profitieren Sie auch hier, weil ADO.Net bereits weiß, wie man .NET 'DateTime' in SQL Server' datetime' (oder 'datetime2 ', etc) Datentypen, so dass Sie das Datum nicht als * string * darstellen müssen, und Sie damit Ihre Formatierungsprobleme beseitigen. –