我在这里阅读了许多问题,但并没有给出解决方案,并且我尝试了许多使用 sqlite datetime(...) 或 strftime() 的变体(尽管不确定后者是否在 c# 中被识别),尝试提取单行中的一组列值,但日期字段不返回任何字符串,数字列很好。通过检查手表可以证明 dt.Rows[0]["ResponseDateTime"] 谁能指出我哪里出错了?尝试过:(除其他外)
从表中选择 field1, strftimetime('%d/%m/%Y %H:%M',resDateTime) 作为 ResponseDateTime, field2
从表中选择 field1、datetime(resDateTime)、field2
ETC
public DataTable GetDataTable(string sql)
{
DataTable dt = new DataTable();
try
{
//with the following the date field is not getting any date datat into the field
// SQLiteConnection cnn = new SQLiteConnection(dbConnection);
// SQLiteCommand command = new SQLiteCommand(sql, cnn);
// cnn.Open();
// SQLiteDataAdapter myAdapter = new SQLiteDataAdapter(command);
// myAdapter.Fill(dt);
SQLiteConnection cnn = new SQLiteConnection(dbConnection);
cnn.Open();
SQLiteCommand dbCommand = cnn.CreateCommand();
dbCommand.CommandText = sql;
SQLiteDataReader executeReader = dbCommand.ExecuteReader(CommandBehavior.SingleResult);
dt.Load(executeReader); // <-- FormatException
cnn.Close();
}
catch (Exception crap)
{
OutCrap(crap);
//throw new Exception(crap.Message);
}
return dt;
}