-1

我已经通过 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

1 回答 1

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

希望它有帮助。

于 2013-04-30T06:21:46.097 回答