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