我在mysql中定义了日志表,其中包括了时间字段,我设置的是timestamp,并建立一个存储过程如下:
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetLogsByDate`(
 date_begin timestamp,
 date_end timestamp
)
BEGIN
      if date_begin = '' and date_end != '' then
     select * from adminlogs where  logs_date <= date_end + '23:59:59';
   elseif date_begin !='' and date_end = '' then
     select * from adminlogs where logs_date >= date_begin;
   elseif date_begin !='' and date_end !='' then
      select * from adminlogs where logs_date between date_begin and date_end +'23:59:59';
   elseif date_begin ='' and date_end = ''  then
      select * from adminlogs;
   end if;
END

然后我在.net中定义如下:
MySqlDateTime begin = Convert.ToDateTime("2009-4-7 0:0:0");
MySqlDateTime end = Convert.ToDateTime("2009-4-9 0:0:0");

然后用程序调用存储过程进行查询,但是一直都出现
异常详细信息: System.IndexOutOfRangeException: 无法找到表 0。
并且即使把字段都改为datatime,也不行,但是我如果把存储过程改为
BEGIN
       select * from adminlogs;
END

这样确能查到数据,请教各位到底什么原因?