SqlDataAdapter da = new SqlDataAdapter("select [ID],[GroupName],[State],[Point],[Time] from OnOff where [Time]>@StartTime and [Time]<@EndTime", con);
Time列实际上是个float类型的列。里面的时间信息是以数字形式存在的。(详细见http://topic.csdn.net/u/20100409/13/28cfdddb-71d6-4d5d-ac4d-6a783560be26.html)我要是用上面的SQL语句写的话 gridview中只会显示数字格式的时间。怎样将其转化成普通格式的时间呢?希望高手指点 万分感激!!!
{
//SqlDataAdapterl类表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。
SqlDataAdapter da = new SqlDataAdapter("select [ID],[GroupName],[State],[Point],[Time] from OnOff where [Time]>@StartTime and [Time]<@EndTime", con);
DateTime dt;//DateTime—>日期和当天的时间表示
if (!DateTime.TryParse(dateTimePicker1.Text, out dt))
{
MessageBox.Show("开始时间格式不正确");
return;
}
//SqlParameter 类 —>表示 SqlCommand 的参数,也可以是它到 DataSet 列的映射。
da.SelectCommand.Parameters.Add(new SqlParameter("@StartTime", dt)); if (!DateTime.TryParse(dateTimePicker2.Text, out dt))
{
MessageBox.Show("结束时间格式不正确");
return;
}
da.SelectCommand.Parameters.Add(new SqlParameter("@EndTime", dt.AddDays(1)));//这块参数设成1了,就表示比设置的值多出一天。 DataSet ds = new DataSet();
da.Fill(ds, "OnOff");//将数据库中的表OnOff以SqlDataAdapter对象da的一些条件添加给数据集ds dataGridView1.DataSource = ds.Tables["OnOff"];//DataSet.Tables—>数据集中表的集合
}
就是不知道怎样放到gridview中显示
<%# DateTime.FromOADate((double)Eval("Time"))%>
string sql = "select [ID],[GroupName],[State],[Point], cast([Time] as datetime) as Time from OnOff ";实现了一个
object obj = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
if (obj != null)
e.Value =DateTime.FromOADate((double)obj);