String sql="select 1 from roi_stations where StationID='001'";
Statement st=_Conn.createStatement();
ResultSet rs=st.executeQuery(sql);
最后一步出错,信息是:对象名 'roi_stations' 无效
这表肯定存在,语句在查询分析器中执行正常。
_Conn也没问题
请问可能是什么原因?

解决方案 »

  1.   

    解决方法:
    1.把帐号的默认数据库改为要查询的库
    2.在sql语句前加上“use 库名”
      

  2.   

    StationID字段是字符串型的吗?如果是整型的去掉单引号。
      

  3.   

    我连接时url指定了数据库了,难道没有用吗?
    "jdbc:microsoft:sqlserver://127.0.0.1:15022; DatabaseName=roi"
      

  4.   

    我试过了,String sql="select 1 from roi.dbo.roi_stations where StationID='001'";
    这样写是可以的。可是怎样才能设置这个默认的数据库?
    url指定数据库怎么不管用呢? 
      

  5.   

    你先把这句sql语句拿到roi下面运行下不就知道了
      

  6.   

    代码不全,但是判定应该是String sql="select 1 from roi_stations where StationID='001'";
    这句中缺省的数据库中没有此表,
    应该在roi_stations前面加上数据库的名称,如aaa.roi_stations,试试.
    学习中...
      

  7.   

    解决方法: 
    1.把帐号的默认数据库改为要查询的库 
    2.在sql语句前加上“use 库名”
    可以试试哦
      

  8.   

    可能java的路子有点怪,它的默认数据库不是按连接中指定的数据库名,而是用户名。
      

  9.   

    数据库连接貌似有点问题,
    我用的sqlserver
    url是:"jdbc:jdts:sqlserver://127.0.0.1:1433/数据库名";
      

  10.   

    楼主,你从企业管理器上面,可以设置用户的默认数据库滴。
    企业管理器=》SQL Server 组=》“楼主的数据库”=》安全性=》登录=》roi_stations
    =》右击roi_stations=》属性=》数据库访问=》把roi的方框选上,点确定就OK了。
      

  11.   

    额。
    失误了,那个是数据库的访问权限。
    应该是:
    企业管理器=》SQL Server 组=》“楼主的数据库”=》安全性=》登录=》roi_stations 
    =》右击roi_stations=》属性=》常规=》下面有个“数据库”字样的列表框=》选择roi,点确定就OK了。