计数数据从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();
这完全取决于您用来存储值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