获取了连接conn,如何获取这个连接下数据库中所有表的名字? select name from sysobjects where xtype='U'? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 rch_Answertest1userTb_Outputstt2abgztamsitemtt3 select * from information_schema.columns where table_name='表名'跟这个差不多吧,我再去找找! sql server:select name from sysobjects where xtype='U' Set Recordset = Conn.Execute("SELECT * FROM sysobjects WHERE xtype='U'") select name from sysobjects where xtype='U'? 这个好像是mssql的,oracle的不支持! select name from sysobjects where type='U' oracle的: 获取所有用户表: SELECT TABLE_NAME FROM USER_ALL_TABLES; 获取所有表(包括系统) SELECT TABLE_NAME FROM ALL_ALL_TABLES;在网上查的。嘻嘻! select table_name from information_schema.tables where table_type='base table' 如果支持多种数据库的话,可以考虑利用jdbc来帮助解决,这样可以屏蔽掉很多的具体数据库细节。 /** * 简要的显示一下 * */ public void showTables(){ Connection conn = null; ResultSet rst = null; DatabaseMetaData dbmd = null; String[] types = {"TABLE"}; // 类型:表 try{ conn = ConnectionFactory.getConnection(); // 不同数据库返回不同的Connection dbmd = conn.getMetaData(); // String catalog,String schemaPattern,String tableParten,String[] types // null 代表所有 rst = dbmd.getTables(null,null ,null , types); while(rst.next()){ System.out.println(rst.getString("TABLE_NAME")); } }catch(SQLException sqle){ sqle.printStackTrace(); } } conn = ConnectionFactory.getConnection(); // 不同数据库返回不同的Connection中的ConnectionFactory从哪里来? ConnectionFactory是哪个jar包的类? conn如果是adodb.connection可以用其方法set Rs=OpenSchema(adSchemaTables)然后循环Rs可以取所有表名 package test;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import com.developercreations.cranium.das.DCDataArchiveSystem;public class Test { public static void main(String args[]){ String JDBC_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String DATABASE_URL = "jdbc:microsoft:sqlserver://192.168.2.14:1433"; Connection connection; Statement statement; try { Class.forName(JDBC_DRIVER); connection= DriverManager.getConnection(DATABASE_URL,"sa","dc9rulez"); statement=connection.createStatement(); //String sql2="select db_name() as databasename "; //DatabaseMetaData md=connection.getMetaData(); //ResultSet rs=statement.executeQuery(sql2); // String s=md.getURL(); //System.out.println("s:"+s); DatabaseMetaData dbmd=connection.getMetaData(); String[] types={"TABLE"}; ResultSet rs1=dbmd.getTables(null,null,"spt_monitor",types); while(rs1.next()) { System.out.println("rs.getString(1) = " + rs1.getString(1)+" "+rs1.getString(2)+" "+rs1.getString(3)); } System.out.println("\n\n"); //ResultSet rs=statement.executeQuery("select DAS_Blob_FILE_CONTENT from "+"\""+"dcImaging"+"\""+"."+"\""+"dbo"+"\""+".TABLE_DAS_Blob where "+"\""+"DAS_INT_FILE_SIZE"+"\""+"=111"); String[] types2={"TABLE"}; ResultSet rs2=dbmd.getColumns(null, null, "TABLE_dc_abl_types", null); while(rs2.next()){ System.out.println(rs2.getString(1)+" "+rs2.getString(2)+" "+rs2.getString(3)+" "+rs2.getString(4)+" "+rs2.getString(6)); } }catch(Exception e){ e.printStackTrace(); } }} --所有的表名select name from sysobjects where xtype='U' order by name--或--所有的表名select table_name from information_schema.tables order by table_name sql server2005 排序问题 SQL问题。高手帮帮忙。 关于查询统计问题,请各位高手指点一下. 求一Sql语句 sql server 提示登陆错误! 存储过程的传入参数是怎么回事啊? 初学者遇到问题,求高手指点 请教sql如何写。帮帮忙,谢谢 谁能解我的问题,我给500分. 安装玩sqlserver2005 无法找到服务器,也无法启动 SQLEXPRESS 急!!!只有一个LDF文件,MDF文件被删除了,能恢复吗?求方法!(200分赠送)
test1
user
Tb_Output
s
tt2
a
b
gz
ta
ms
item
tt3
select name from sysobjects where xtype='U'
SELECT TABLE_NAME FROM USER_ALL_TABLES;
获取所有表(包括系统)
SELECT TABLE_NAME FROM ALL_ALL_TABLES;在网上查的。嘻嘻!
* 简要的显示一下
* */
public void showTables(){
Connection conn = null;
ResultSet rst = null;
DatabaseMetaData dbmd = null;
String[] types = {"TABLE"}; // 类型:表
try{
conn = ConnectionFactory.getConnection(); // 不同数据库返回不同的Connection
dbmd = conn.getMetaData();
// String catalog,String schemaPattern,String tableParten,String[] types
// null 代表所有
rst = dbmd.getTables(null,null ,null , types);
while(rst.next()){
System.out.println(rst.getString("TABLE_NAME"));
}
}catch(SQLException sqle){
sqle.printStackTrace();
}
}
可以用其方法set Rs=OpenSchema(adSchemaTables)
然后循环Rs可以取所有表名
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;import com.developercreations.cranium.das.DCDataArchiveSystem;public class Test { public static void main(String args[]){
String JDBC_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String DATABASE_URL = "jdbc:microsoft:sqlserver://192.168.2.14:1433";
Connection connection;
Statement statement;
try {
Class.forName(JDBC_DRIVER);
connection= DriverManager.getConnection(DATABASE_URL,"sa","dc9rulez");
statement=connection.createStatement();
//String sql2="select db_name() as databasename ";
//DatabaseMetaData md=connection.getMetaData();
//ResultSet rs=statement.executeQuery(sql2);
// String s=md.getURL();
//System.out.println("s:"+s);
DatabaseMetaData dbmd=connection.getMetaData();
String[] types={"TABLE"};
ResultSet rs1=dbmd.getTables(null,null,"spt_monitor",types);
while(rs1.next()) {
System.out.println("rs.getString(1) = " + rs1.getString(1)+" "+rs1.getString(2)+" "+rs1.getString(3));
}
System.out.println("\n\n");
//ResultSet rs=statement.executeQuery("select DAS_Blob_FILE_CONTENT from "+"\""+"dcImaging"+"\""+"."+"\""+"dbo"+"\""+".TABLE_DAS_Blob where "+"\""+"DAS_INT_FILE_SIZE"+"\""+"=111");
String[] types2={"TABLE"};
ResultSet rs2=dbmd.getColumns(null, null, "TABLE_dc_abl_types", null);
while(rs2.next()){
System.out.println(rs2.getString(1)+" "+rs2.getString(2)+" "+rs2.getString(3)+" "+rs2.getString(4)+" "+rs2.getString(6));
}
}catch(Exception e){
e.printStackTrace();
}
}
}
--所有的表名
select name from sysobjects where xtype='U' order by name
--或
--所有的表名
select table_name from information_schema.tables order by table_name