读书人

关于一个查找时间的有关问题

发布时间: 2012-02-28 13:06:35 作者: rapoo

关于一个查找时间的问题
其实类似的问题我前几天发过 不过没有解决
只能发个帖子详细地说明下
比较急 请大家帮帮忙

说一下我是想实现在数据库查找是否存在已知一个时间断里的时间
比如已知6:00 到12:00 类型已经转成datetime了
数据表中都是一个时间点比如8:35 9:30 14:50之类的 类型是datetime

try
{
SqlDataReader myreader = cmd.ExecuteReader();
if (myreader.HasRows)
{
Label5.Text = myreader.GetValue(1).ToString();
}
else
Label5.Text = "没有这条纪录 ";
myreader.Close();
}
.......

运行的显示总是“没有这条记录”;

--------------------------------------

我就想可能我的sql语句也错了

ALTER PROCEDURE dbo.SelectStartTime
@Time1 datetime,
@Time2 datetime

AS
select starttime from sys_flight where convert(varchar(5),starttime,14) > @Time1 and convert(varchar(5),starttime,14) <@Time2
RETURN

结果:运行[dbo].[SelectStartTime] ( @Time1 = 8:00, @Time2 = 9:00 ).

starttime
-----------------------
没有行受影响。
(返回 0 行)
@RETURN_VALUE = 0
完成 [dbo].[SelectStartTime] 运行。

运行没有结果

--------------------------------------

然后我在sql查询分析器里面运行


execute selectstarttime @Time1= '8:00 ', @Time2= '9:00 '

运行是有结果的
1899-12-30 08:45:00.000

--------------------------------------

为什么用查询分析器是有结果的 但是在VS2005里面执行存储过程没有结果呢?

请问大家这是什么原因阿?


[解决办法]
如果你只取一个数据,使用ExecuteScalar 方法多好啊.

如果使用ExecuteReader就要做循环来取.
[解决办法]
execute selectstarttime @Time1= '08:00 ', @Time2= '09:00 '

读书人网 >asp.net

热点推荐