C# 在C中从CSV时间列计算数据#

C# 在C中从CSV时间列计算数据#,c#,csv,ado.net,C#,Csv,Ado.net,我通过odbc与C#中的csv文件建立了连接,并在Windows应用程序中正确获取了数据,但问题是,当我尝试获取列中的数据计数时,数据的格式为4:36:56 这包含数千个这样的数据。我试图计算那些大于4:30:00的数据,但是我没有得到正确的计数。我使用的代码是: da = new OdbcDataAdapter("SELECT count(" *") FROM " + filename + " where " +column name + ">#4:30:00#", con); d

我通过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中的转换,请参阅此文档:


希望有帮助。

在csv文件中,它是字符串格式,我在应用程序中将其视为日期时间,因此我遇到了问题,请帮助我。请通过odbc或任何其他方式进一步帮助我。请尽快回复我,因为我无法从您的第二个联系人处获得正确答案option@user2279745看来你正面临着一个新的时代问题,检查我的编辑当我使用您的第二个响应时,我收到一个异常“未定义的函数在表达式中转换”检查第二个选项中的编辑并在odbc中遵循转换链接