为什么在数据库中执行一条数据库语句出错,但是代码能够执行下去呢

为什么在数据库中执行一条数据库语句报错,但是代码能够执行下去呢
例如 
SELECT ServerState as SERVERSTATE, HostGroup AS HOSTGROUP,UUID AS UUID, ServerMode AS SERVERMODE,MEMORYRATE,
               MemoryUsed AS MEMORYUSED,MemoryTotal AS MEMORYTOTAL, CPURate AS CPURATE, LastUpdatetime as LASTUPDATETIME,
               MANAGESCRIPT_CONT, QUEUE_CONT,BP_CONT from
               (select
                    sum(case t.FILENAME when'ManageScript'then FileNumber else 0 end) MANAGESCRIPT_CONT,
                    sum(case t.FILENAME when'Queue'then FileNumber else 0 end ) QUEUE_CONT,
                    sum(case t.FILENAME when'BP'then FileNumber else 0 end) BP_CONT,SERVERNUM
                from T_FileCount t 
                group by SERVERNUM ) a  left outer join T_RecordServerState on a.SERVERNUM = T_RecordServerState.uuid  where LASTUPDATETIME > convert(char(10),getdate(),120) ORDER BY HOSTGROUP ,UUID,这条语句 就总是报 对象名 'T_FileCount' 无效。 具体的T_FileCount表我是有的
------解决思路----------------------
你确定执行sql的窗口是基于正确的服务器下的正确的数据库上面打开的?
------解决思路----------------------
对象名 'T_FileCount' 无效

那就一定是你程序执行这句时,  连接的数据库里面没这个表.

或者你连接错了数据库,  比如你电脑 192.168.0.10 和11上都安装了数据库,11上的才正确,但是你连接到了10上
还有可能就是你一台机器上,挂了两个或者两个同类数据库,但是有的数据库添加了这个表,有的没添加,
在你SQL调试时,打开的是正确的数据库连接,而程序调用时,又连接的另外一个数据库.

跟踪下你的数据库连接字符串应该就出来了,
------解决思路----------------------
额,看反了,代码可以执行, 那就是你数据库Ssms对应的当前数据库跟程序不是一个数据库.

程序连接的数据库是正确的,而你ssms连接对应的数据库是错误的.  自己核对清楚下