从数据库中获取特定时间的数据

时间:2011-06-20 11:50:31

标签: c#

你好,我想把数据库中的数据提取到datagridview中以获得定时器间隔  在1900-01-01 23:00:00.0001900-01-01 06:59:59.999之间,但是我无法做到这一点,任何人都可以帮助我.......

temprature Time                         date
27         1900-01-01 00:46:09.000  2011-06-16 00:00:00
27.3       1900-01-01 00:48:09.000  2011-06-16 00:00:00
27.6       1900-01-01 00:50:09.000  2011-06-16 00:00:00
27.9       1900-01-01 00:52:09.000  2011-06-16 00:00:00
28.2       1900-01-01 00:54:09.000  2011-06-16 00:00:00
28.5       1900-01-01 00:56:09.000  2011-06-16 00:00:00
28.8       1900-01-01 00:58:09.000  2011-06-16 00:00:00
29.1       1900-01-01 01:00:09.000  2011-06-16 00:00:00
29.4       1900-01-01 01:02:09.000  2011-06-16 00:00:00
29.7       1900-01-01 01:04:09.000  2011-06-16 00:00:00

1 个答案:

答案 0 :(得分:2)

这个问题在很大程度上依赖于你拥有的数据库,但是我会在这里进行一次疯狂的拍摄,我假设你正在使用Ado.Net并拥有一个SQL Express数据库,得到那些行,你应该做这样的事情:

// your connection string should be like
// Data Source=localhost\SQLEXPRESS;Initial Catalog=YourDbName;Integrated Security=True
var connectionString = "A connection string";

var connection = new SqlConnection(connectionString);
var query = new SqlCommand("SELECT temperature, startDate, endDate FROM yourTable", connection);

connection.Open();
var dbReader = query.ExecuteReader(CommandBehavior.Default);

Console.WriteLine("Temperature\tTime\tDate");

while (dbReader.Read())
{
    var row = new object[dbReader.FieldCount];
    dbReader.GetValues(row);

    var temperature= row[0].ToString();
    var startDate = DateTime.Parse(row[1]);
    var endDate = DateTime.Parse(row[2]);

    Console.WriteLine("{0}\t{1}\t{2}", temperature, startDate, endDate);
}

同样,这个答案假设你的问题很多,因为你应该指定你的数据库类型,你的表的列以及你如何访问数据库,但运气好的话,这段代码可能是你的出发点。

希望它有所帮助!