计数数据从CSV的时间列在c#

本文关键字:时间 CSV 数数 数据 | 更新日期: 2023-09-27 18:11:23

我通过odbc与c#中的csv文件建立了连接,并在我的Windows应用程序中正确获取数据,但问题是,当我试图获得列中存在的数据计数时,其中数据以4:36:56等格式存在。

这包含成千上万个这样的数据。我试图计算那些大于4:30:00的数据,但我没有得到正确的计数。我使用的代码是:

 da = new OdbcDataAdapter("SELECT count(" *") FROM " + filename + " where  " +column name + ">#4:30:00#", con);
 ds = new DataSet();
 da.Fill(ds);
 dt = ds.Tables[0];
 dr = dt.Rows[0];
 label15.Text = dr[0].ToString();

计数数据从CSV的时间列在c#

这完全取决于您用来存储值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