从C#中的CSV时间列计数数据

时间:2013-04-30 06:09:18

标签: c# csv ado.net

我已经通过odbc与C#中的csv文件建立连接并在我的Windows应用程序中正确获取数据,但问题是当我尝试获取列中存在的数据时,数据以{{1}的格式存在}}

这包含数千个这样的数据。我正在尝试计算那些大于4:36:56的数据,但我没有得到正确的计数。我正在使用的代码是:

4:30:00

1 个答案:

答案 0 :(得分:0)

它完全依赖于您用于存储值4:30:00的数据类型。

假设它是正确的,您可以在count(*)而不是count("*")进行更改,如下所示。

第二件事是使用参数化查询,在这种情况下是动态的。

parValue="4:30:00"

cmd=new  Odbccommand("SELECT count(*) FROM " + filename + " where  convert(datetime," +column name + ")>@val", con);
command.Parameters.AddWithValue("@value", parValue);
cmd.ExecuteNonQuery();

否则,简单地说,

da = new OdbcDataAdapter("SELECT count(*) FROM " + filename + " where  {fn convert(" +column name + ",SQL_TIME)>#4:30:00#", con);

请参阅此文档以了解ODBC中的转换:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms715381%28v=vs.85%29.aspx

希望它有用。