Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

SQLite, C#: Datum einfügen, Recordset, SQL-String, Datum Format

In C#, SQLite fügt man ein Datum in einer Tabelle, Datensatz ein, indem man das Datum nach dem Schema '2016-05-30 10:00:00'  übergibt

 

INSERT INTO [Files] ([Filename, [dtCreated]) VALUES ('File1.MOV', '2016-05-22 08:37:00');

 

Wenn man unter C# ein Datumfeld oder Datum-Variable verwendet, muss man diese zuvor in das String-Format konvertieren

string sDate = file.DateCreated.ToString("yyyy-MM-dd hh:mm:ss"); //'2007-01-01 10:00:00'

 

SQLite Datenbank Ergebnisse

Auch in der Darstellung unter SQLite Tools werden die Datensätze von Feldern im Datumsformat nach dem Muser ("yyyy-MM-dd hh:mm:ss") angezeigt.

 

 

 

Beispiel in C# zum Einfügen eines Datensatzes

Im ersten Schritt wird das Datum formatiert

Im zweiten Schritt wird ein SQL string erstellt zum Anfügen eines Datensatzes

Im dritten Schritt wird der SQL String der Datenbank Connection übergeben

string sDate = file.DateCreated.ToString("yyyy-MM-dd hh:mm:ss"); //'2007-01-01 10:00:00'

 

//< execute >

string sSQL = @"INSERT INTO [Files] ([Filename],[Path],[IDFolder],[IsImage],[FileType],[dtCreated]) VALUES ('" + sFilename + "','" + file.Path + "'," + IDFolder + ",'v','" + file.FileType + "','" + sDate + "');";

clsDB.Execute(sSQL);

//</ execute >

 

        public static void Execute(string sSQL)

        {

            //------------< btnCreateDB_Click() >------------

            try

            {

                ISQLiteStatement cnStatement = dbConnection.Prepare(sSQL);

                var result = cnStatement.Step();

            }

            catch (Exception ex)

            {

                clsDebug.debug_Exception(ex, "clsDB.Execute()");

                return;

            }

           

            //------------</ btnCreateDB_Click() >------------        

        }

 

Ausführung in Haltepunkt:

Das Datum wird im String nach ISO-Format übergeben.

 

 

Fehlerhafte Übergabe:

 

Direkte übergabe als Datum

//< execute >

string sSQL = @"INSERT INTO [Files] ([Filename],[Path],[IDFolder],[IsImage],[FileType],[dtCreated]) VALUES ('" + sFilename + "','" + file.Path + "'," + IDFolder + ",'v','" + file.FileType + "'," + file.DateCreated + ");";

clsDB.Execute(sSQL);

//</ execute >

 

 

Fehlerhaft, da das Datum nach der landesspezifischen Einstellung übergeben wird:

INSERT INTO [Files] ([Filename],[dtCreated]) 
VALUES ('2016-05-22 (2).MOV',22.05.2016 20:37:00 +02:00);

 

Fehlermeldung unter SQLite

ErrorCode : 1

Message   : SQL logic error or missing database

near ".2016": syntax error

Result    : Error

 

Anzeige in SQLite Tools

 

 

 

Mobile
»
Error: Unable to load DLL sqlite3.dll
»
SQLite, UWP: GROUP BY und ORDER BY
»
SQLite, C#: Datum einfügen
»
SQLite: Select TOP Records FROM Table
»
UWP, SQLite : SQLite Code zum Erstellen einer Datenbank, der Tabellen und von Indizes
»
SQLite: komplette SQL Datenbank in Universal Windows App als Beispiel SQLitePCL
»
UWP, SQLite: An update to SQLite for Universal Windows Platform
»
UWP, SQLite Problem: Keine Referenz vorhanden
»
UWP: SQLite Datenbank in Universal Windows App

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de