Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向SQLite插入日期_C#_Sqlite - Fatal编程技术网

C# 向SQLite插入日期

C# 向SQLite插入日期,c#,sqlite,C#,Sqlite,我正在使用WPF/C和SQLITE编写一个小应用程序 其中一个函数将包含两个日期/时间值的记录插入表中 我想知道是否有适当的方法来确保日期/月份字段的存储一致 我创建了一个INSERT查询,该查询使用日期变量clsVariables.DataActivityEnd=DateTime.Now;旁边的参数 String cntnStr = ClsVariables.StrDb; var connection = new SQLiteConnection(cntnStr

我正在使用WPF/C和SQLITE编写一个小应用程序

其中一个函数将包含两个日期/时间值的记录插入表中

我想知道是否有适当的方法来确保日期/月份字段的存储一致

我创建了一个INSERT查询,该查询使用日期变量clsVariables.DataActivityEnd=DateTime.Now;旁边的参数

        String cntnStr = ClsVariables.StrDb;
        var connection = new SQLiteConnection(cntnStr);
        connection.Open();
        using (SQLiteCommand cmd = connection.CreateCommand())
        {
            cmd.CommandText =
                "INSERT INTO tblActivity ([Activity_Category], [Activity_Category_Sub], [Activity_Start], [Activity_End], [Activity_Duration]) VALUES (@ActivityCategory, @ActivityCategorySub, @ActivityStart, @ActivityEnd, @ActivityDuration);";
            cmd.Parameters.Add(new SQLiteParameter("@ActivityCategory", ClsVariables.StrActivityCurrent));
            cmd.Parameters.Add(new SQLiteParameter("@ActivityCategorySub", ClsVariables.StrActivitySubCurrent));
            cmd.Parameters.Add(new SQLiteParameter("@ActivityStart", ClsVariables.DatActivityStart.ToString()));
            cmd.Parameters.Add(new SQLiteParameter("@ActivityEnd", ClsVariables.DatActivityEnd.ToString()));
            cmd.Parameters.Add(new SQLiteParameter("@ActivityDuration", ClsVariables.DblActivityDuration));
            cmd.ExecuteNonQuery();
        }
        connection.Close();

还有什么我应该做的吗-谢谢?

您必须使用sql格式的字符串:

string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
更新:

今天,我更希望AddWithValues具有类型安全性且不进行任何转换:

cmd.Parameters.AddWithValue("@ActivityStart", ClsVariables.DatActivityStart);

您必须使用sql格式的字符串:

string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");
更新:

今天,我更希望AddWithValues具有类型安全性且不进行任何转换:

cmd.Parameters.AddWithValue("@ActivityStart", ClsVariables.DatActivityStart);

这很好,没什么要做的了这很好,没什么要做的了。这是哪一个?我用这个,因为在某些情况下,我在.net DateTime和SQL DateTime之间遇到了一些问题。对不起,伙计们,这是哪一个?我用这个,因为在某些情况下,我在.net DateTime和SQL DateTime之间遇到了一些问题。