使用TimeSpan时,毫秒/纳秒未插入时间[7]字段

时间:2014-09-17 09:06:59

标签: c# sql sql-server database timespan

我正在使用以下插入查询将类型TimeSpanduration变量)的持续时间插入到我的表中具有time[7]值的字段中。 INSERT是成功的,但它只插入秒,即使持续时间为纳米值,它们始终为0000000.如何插入确切的持续时间?

OleDbConnection conn = new OleDbConnection(cs);
string sql = "UPDATE CampaignRun SET Duration=?,FtpResult=?,FtpCommand=?,Report=? WHERE CampaignId=?";
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
{
    cmd.Parameters.Add("Duration", OleDbType.DBTime).Value = duration;
    cmd.Parameters.Add("FtpResult", OleDbType.Boolean).Value = ftpStatus;
    cmd.Parameters.Add("FtpCommand", OleDbType.VarChar).Value = ftpCommand;
    cmd.Parameters.Add("Report", OleDbType.VarChar).Value = ReadListbox();
    cmd.Parameters.Add("CampaignId", OleDbType.BigInt).Value = campaignId;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
}

enter image description here

1 个答案:

答案 0 :(得分:2)

根据OleDbType.DBTime

的文件
  

时间数据格式为hhmmss(DBTYPE_DBTIME)。这映射到TimeSpan。

这表示不支持小数秒。