d1有可能是空的
是什么意思?数据为空还是此表不存在?
sql server 中查寻表是否存在:
select * from sysobjects where xtype='u' and name='d1'

解决方案 »

  1.   

    很简单,就是判断在数据库中存不存在d1这张表,
    因为我原来问这个问题的时候,有人要我用select * from d1 ,说返回的记录数不为0就可以了,但是,d1原本就是空的.我用的是access作为数据库的.
      

  2.   

    SELECT [NAME] FROM MSysObjects WHERE TYPE=1 and [name]='d1'
      

  3.   

    MSysObjects代表什么?
    我现在如果想知道在acces数据库train中,有没有d1,该怎么写?
    谢谢!
    呵呵,我这个人真实太麻烦你了
      

  4.   

    MSysObjects代表什么?
    MSysObjects是acces系统表我现在如果想知道在acces数据库train中,有没有d1,该怎么写?
    连接上据库train以后执行
    SELECT [NAME] FROM MSysObjects WHERE TYPE=1 and [name]='d1'就行了
    如果有结果集产生这存在此表
      

  5.   

    ;(
    不能读取记录,在MSysObjects上没有读取数据权限
      

  6.   

    新建一个查询试试:
    打开数据库--〉查询—〉在设计视图中创建查询--〉关闭--〉视图--〉sql视图--〉
    SELECT [NAME] FROM MSysObjects WHERE TYPE=1
    --〉保存(输入名字)
    然后在程序中查询此查询
      

  7.   

    我照你说的做了
    仍然是没有读取权限
    :(
    见鬼了,我用的xp的access,可能和这个有关系吗?
      

  8.   

    应该没有关系。可能和Access版本有关系
      

  9.   

    SELECT [NAME] FROM MSysObjects WHERE TYPE=1 and [name]='d1'
    你到数据库里做是可以的,但是,用在外部程序中就可能这样:
    [Microsoft][ODBC Microsoft Access Driver] 不能读取记录;在 'msysobjects' 上没有读取数据权限。
      

  10.   

    先建一张表tablenames
    然后再建这个查询:
    select name into tablenames from msysobjects where type=1
    以后就从这个tablenames
    判断
      

  11.   

    imagex:我用你的方法,一样是没有读取权限
    [Microsoft][ODBC Microsoft Access Driver] 不能读取记录;在 'msysobjects' 上没有读取数据权限。
      

  12.   

    转贴:
    import java.sql.*;public class getTableName {  public getTableName() {}//end inst  public static void main(String[] args) throws Exception{
          String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
          String url="jdbc:microsoft:sqlserver://kknd97:1433;DatabaseName=jbdb";
          String user="sa";
          String pass="";      Class.forName(driver);
          Connection con=DriverManager.getConnection(url,user,pass);
          DatabaseMetaData  dmd =con.getMetaData();      String[] types=new String[6];      ResultSet rs=dmd.getTables(null,null,"%",null);      while(rs.next()){
              for(int i=1;i<=5;i++){
                 types[i]=rs.getString(i);
              }//end for
              System.out.println("类型["+types[4]+"]名称["+types[3]+"]");
              System.out.println("");
         }//end while  }//end main}//end class
    注意事项 1 一定要有mssql的jdbc如果你使用的是其他数据库,请修改我访问数据库的jdbc参
               数
             2 如果使用jdbc一定要有jdbc的类包,并且保证能够引用
             3 请察看javadoc中关于DatabaseMetaData类的说明,在
               java.sql.DatabaseMetaData最后  祝你好运!
      

  13.   

    http://otn.oracle.com/global/cn/sample_code/tech/java/codesnippet/jdbc/OracleDatabaseMetaData.html