我在SQL2000里面自己建的一个数据库,然后自己建立了一个表,(数据库当中还有几个系统的表)。然后我用JDBC连接数据库,然后就奇了怪了,系统建立的表,我可以读取数据,而我建立的表就是无效的。。为什么呀,我所有的权限都有了呀

解决方案 »

  1.   

    代码如下:
    import java.net.URL;
    import java.sql.*;
    class FENCING
    {
     public static void main(String args[])
     {
      String url="jdbc:odbc:FENCE";
     try
      {
       try
       {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
       catch(java.lang.ClassNotFoundException e)
        {
         System.out.print("ClassNotFoundException:");
         System.err.println(e.getMessage());
        }
       Connection con=DriverManager.getConnection(url,"sa","123456");
         Statement stmt=con.createStatement();
       ResultSet rs=stmt.executeQuery("SELECT * FROM dbo.FENCEPLAYERINFO");
       while(rs.next())
        {
         for(int i=1;i<11;i++)
         System.out.println("这是第"+i+"个字段的内容"+rs.getString(i));
        }
       con.close();
      }
     catch(SQLException ex)
      {
       while(ex!=null)
       {
        System.out.println("数据库异常!!!");
        System.out.println(ex.getSQLState());
        System.out.println(ex.getMessage());
        System.out.println(ex.getErrorCode());
        ex=ex.getNextException(); 
       }
      }
     }
    }其中FENCEPLAYERINFO是我自己建立的表的名字。
      

  2.   

    你自己建表的时候用什么用户
    ----------------------------
    如果不是sa或系统验证的话,表名格式一定要为[登录名].TableName
      

  3.   

    不写前面所有者一部分的话,
    则默认为dbo.TableName
      

  4.   

    我代码里面用的就是dbo.FENCEPLAYERINFO,而且我的表的所有者就是dbo啊。还是不无效啊·········
      

  5.   

    while(rs.next())
        {
         for(int i=1;i<11;i++)
         System.out.println("这是第"+i+"个字段的内容"+rs.getString(i));
        }
    你确定你表里有10个字段吗?
    如果没有,肯定会报错了~
      

  6.   

    还是不对啊,就算我把for(int i=1;i<11;i++)
    改成for(int i=1;i<2;i++)只显示一行也是“无效”。
    啊~~~~~我要疯掉了………………