Ich habe versucht, eine Beispiel Northwind SQLite-Datenbank zu lesen, aber einen Fehler auf einigen Tabellen mit einer Datetime. Ist das ein Problem der Datenbank oder meiner System.Data.SQLite? Die Ausnahme ist somethin wie: „die Zeichenfolge ist keine gültige Datetime“SQLite ExecuteReader -> DataTable.Load -> FormatException (DateTime)
http://system.data.sqlite.org/
Of cource ich selbst die Daten auslesen kann mit der richtigen Datetime Umwandlung aber nicht so performant ist es als Lese
out über einen einfachen dt.Load() SQLiteCommand dbCommand = myConnector.CreateCommand();
dbCommand.CommandText = "SELECT * FROM " + tablename;
SQLiteDataReader executeReader = dbCommand.ExecuteReader(CommandBehavior.SingleResult);
DataTable dt = new DataTable();
dt.Load(executeReader); // <-- FormatException
"bei System.DateTimeParse.ParseExactMultiple (String s, String [] Formate, Datetime dtfi, Datetimestyles style) \ r \ n bei System.D ateTime.ParseExact (String s, String [] Formate, IFormatProvider Provider, Datetimestyles style) \ r \ n bei System.Data.SQLite.SQLiteConvert.ToDateTime (String dateText, SQLiteDateFormats Format, Datetimekind Art) in c: \ dev \ sqlite \ dotnet \ System.Data.SQLite \ SQLiteConvert.cs: Zeile 322. "
Ich brauche eine gute Hilfe, um den aktuellen Code zu verbessern.
nur eine Idee werfen ... in der Regel diese Art der Sache ist irgendwo versteckt (in einem Trigger vielleicht) ... Vielleicht ist die Logging-Mechanismen haben falsch formatierte Daten? Ich wette, das Problem besteht nicht darin, Ihre Abfrage in eine DataTable zu konvertieren, sondern es passiert etwas anderes. – Paul
können Sie mir bitte das Format der beleidigenden DateTime-Spalte in der Tabelle – HatSoft
sagen, die Beispieldatenbank ist dies: http://download.vive.net/Northwind.zip und die Tabelle ist 'ORDERS'. nach SQLite Database Browser sind die angreifenden Spalten vom Typ 'Zeitstempel' –