关于一个datatime类型值的查询问题
   小弟有个问题头疼了很久,希望各位前辈多多指教啊^_^   
 数据库的table表里有个叫日期时间的字段,数据类型为datatime类型。值都为年-月-日   时-00-00这种形式,例如   2007-08-20   10:00:00。 
 我先取得当前的时间,并将它赋值给ntime,程序如下: 
 DateTime   ntime   =   DateTime.Today.AddHours(   DateTime.Now.Hour   ); 
 可以得到2007-08-20   10:00:00(假设当前时间为此值); 
 然后我查找表中是否有这个值,我用以下的语句 
 select   count(*)   from   table   where   日期时间   =   ntime   and   区站号   =    '56038 '; 
 程序结果不对。   
 我又改了一下,重新定义了一个string变量time 
 string   time=ntime.ToString(); 
 select   count(*)   from   tabTimeData   where   Convert(Varchar,   日期时间,   120)   =    ' "+time+ " 'and   区站号   =    '56388 ' 
 程序结果还是不对;(   
 但是如果我把程序改为(假设当前时间为2007-08-20   10:00:00) 
 select   count(*)   from   tabTimeData   where   Convert(Varchar,   日期时间,   120)   =    '2007-08-20   10:00:00 '   and   区站号   =    '56388 ' 
 程序结果就对了 
 在查询时如何定义和使用这个datatime类型的变量,请各位前辈多多指点啊^_^
------解决方案--------------------加个#试试. 
 select count(*) from table where 日期时间 = #ntime# and 区站号 =  '56038 ';   
 在或者,用year,month,day分别比较.也就是 
 select count(*) from table where year(日期时间) = YEAR(ntime) AND  month(日期时间) = month(ntime)  .... and 区站号 =  '56038 ';
------解决方案--------------------查询的时候,先对日期格式化,如果你是用Oracle数据库可以用Oracle数据库函数TO_DATE( ' " + 时间变量+  " ', 'yyyy-MM-dd HH:MM:SS ')
------解决方案--------------------time把/替换成-   
 或者你可以用SqlParameter的形式 
------解决方案--------------------或者在C#中將time的格式轉為一致。   
 string time=ntime.ToString( "yyyy-MM-dd HH:mm:ss "); 
 select count(*) from tabTimeData where Convert(Varchar, 日期时间, 120) =  ' "+time+ " 'and 区站号 =  '56388 ' 
------解决方案--------------------单纯的把DateTime与数据库里的date类型不能对应上,应该转换为SqlDateTime类型的
------解决方案--------------------select count(*) from tabTimeData where  日期时间=  ' "+time+ " 'and 区站号 = 56388   
 这样就行了,Sql会将日期类型与 ' "+time+ " '自动匹配,不用转换。