这段代码,哪里错了???
package database;
import java.net.URL;
import java.sql.*;
import java.util.*;
public class testdatabase {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;
int numcols,i;
public testdatabase() throws Exception {
String sUrl="jdbc:microsoft:sqlserver://"+"192.168.16.1:1433;"+"databasename=user";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con=DriverManager.getConnection(sUrl,"sa","");
dma=con.getMetaData();
System.out.println("Connected to:"+dma.getURL());
System.out.println("Driver:"+dma.getDriverName());
String types[]=new String[1];
types[0]="TABLES";
results=dma.getTables(null,null,"%",types);
try{
printResult("-------Tables-------");
}
catch(Exception e){e.printStackTrace();}
results.close();
}
protected void printResult(String s) throws Exception{
System.out.println(s);
rsmd=results.getMetaData();
numcols=rsmd.getColumnCount();
for(i=1;i<=numcols;i++)
System.out.print(rsmd.getColumnName(i)+" ");
System.out.println();
while(results.next()){
for(i=1;i<=numcols;i++)
System.out.print(results.getString(i)+" ");
System.out.println();
}
}
public static void main(String[] args) {
try{
testdatabase mydatabase=new testdatabase();
}
catch (Exception e){e.printStackTrace();}
}
}
输出结果如下:
Connected to:jdbc:microsoft:sqlserver://192.168.16.1:1433;SELECTMETHOD=direct;DATABASENAME=user;LOGINTIMEOUT=0
Driver:SQLServer
-------Tables-------
TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
结果没有输出我连接的数据库里的所有表的信息,发现results里没有数据。
该怎么做,我才能得到所有表的信息呢???