点你的数据库右键 新建一个查询
输入
exec [dbo].[SelectStartTime] '2007-5-20 8:00','2007-5-20 9:00'
如果还没有结果那么你把时间段放大点
exec [dbo].[SelectStartTime] '2004-4-4','2007-5-5'

解决方案 »

  1.   

    我用查询分析器
    执行结果是 1899-12-30 07:25:00.000再用存储器过程运行还是没有结果- -!
    运行[dbo].[SelectStartTime] ( @Time1 = 1899-12-30 07:00:00.000, @Time2 = 1899-12-30 08:00:00.000 ).starttime               
    ----------------------- 
    没有行受影响。
    (返回 0 行)
    @RETURN_VALUE = 0
    完成 [dbo].[SelectStartTime] 运行。
      

  2.   

    加单引号试一下
    [dbo].[SelectStartTime] ( @Time1 = '8:00', @Time2 = '9:00' ).
      

  3.   

    不要用自动生成的存储过程执行语句
    他执行的是调用你的存储过程然后返回你存储过程里return里的东西
    你的return是空 所以永远都是@RETURN_VALUE = 0
    你在查询分析器里执行exec [dbo].[SelectStartTime] '2004-4-4','2007-5-5'  返回的就是你存储过程真正执行的东西了
    在.net里用ado会得到你要的结果的.
      

  4.   

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

  5.   

    呵呵 我小白一个程序是这样的 DateTime Time1 = Convert.ToDateTime(time1);
     DateTime Time2 = Convert.ToDateTime(time2);
    SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
            SqlCommand cmd= new SqlCommand("SelectStartTime",conn);        cmd.CommandType = CommandType.StoredProcedure;        SqlParameter paraTime1 = new SqlParameter("@Time1", SqlDbType.DateTime);
            paraTime1.Value = Time1;
            cmd.Parameters.Add(paraTime1);        SqlParameter paraTime2 = new SqlParameter("@Time2", SqlDbType.DateTime);
            paraTime2.Value = Time2;
            cmd.Parameters.Add(paraTime2);        conn.Open();
            
            try
            {
                SqlDataReader myreader = cmd.ExecuteReader();
                if (myreader.HasRows)
                {
                    Label5.Text = myreader.GetValue(1).ToString();
                }
                else
                    Label5.Text = "没有这个纪录";
                myreader.Close();
            }
            catch
            {
            }
            conn.Close();存储过程 ;
    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
    运行显示始终是没有这条纪录
      

  6.   

    你用SQL工具,直接对表查询会有结果返回吗,有的话,再看存储过程参数及类型是否正确。