您的位置:首页 >> 编程开发 >> Java >> 数据库 >> 正文
数据库 RSS
 

使用 JDBC 创建数据库对象 1

http://www.rdxx.com 01年05月04日 12:12 Blog 我要投稿

关键词: 数据库对象 , JDBC , 创建 , 数据 , 对象 , JDB
 
其中参数的意义是:

catalog
要在其中查找表名的目录名。对于 JDBC-ODBC 数据库以及许多其他数据库而言,可将其设置为 null。这些数据库的目录项实际上是它在文件系统中的绝对路径名称。 
schema
要包括的数据库方案。许多数据库不支持方案,而对另一些数据库而言,它代表数据库所有者的用户名。一般将它设置为 null 
tablemask
一个掩码,用来描述您要检索的表的名称。如果您希望检索所有表名,则将其设为通配符 %请注意,SQL 中的通配符是 % 符号,而不是一般 PC 用户的 * 符号。 
types[]
这是描述您要检索的表的类型的 String 数组。数据库中通常包括许多用于内部处理的表,而对作为用户的您没什么价值。如果它是空值,则您会得到所有这些表。如果您将其设为包含字符串TABLES的单元素数组,您将仅获得对用户有用的表格。 

用于从数据库中获取表名的简单代码相当于获取 DatabaseMetaData 对象,并从其中检索表名:

con = DriverManager.getConnection(url);//获取数据库的元数据dma =con.getMetaData();//将数据库中的表的名称转储出来String[] types = new String[1];types[0] = "TABLES"; //设置查询类型//请注意通配符是 % 符号(而不是“*”results = dma.getTables(null, null, "%", types);

然后,我们可以打印出表名,正如我们上面所做的那样:

boolean more = results.next();while (more)   {  for (i = 1; i <= numCols; i++)      System.out.print(results.getString(i)+"     ");  System.out.println();  more = results.next();  }
如前文所述,将所有代码包括在 try 块中。

执行 SQL 查询

我们已经理解了 JDBC 的基本对象,现在就可以执行 SQL 查询了。查询是作为 Statement 对象的方法执行的,您很容易从 Connection 对象获得Statement对象:
String query = "SELECT FoodName FROM Food;";ResultSet results;try   {   Statement stmt = con.createStatement();      results = stmt.executeQuery(query);   }   catch (Exception e)   {System.out.println("query exception");}
请注意,这个简单的查询返回 Food 表中的整个 FoodName 列。您使用像这样的简单查询获取整个列的内容。请注意,查询的查询本身是一个 ResultSet,您可以用我们上面刚讨论过的方法对它进行处理。
打印 ResultSet
因为我们总是要从 ResultSets 中打印数据,我们可以设计一种简单的方法,将整个 ResultSet 转储出来,包括表名称元数据。该子程序如下所示:
private void dumpResults(String head) { //这是打印列标头和每列的内容的 //通用方法 System.out.println(head);  try   {     //从元数据中获取列数   rsmd = results.getMetaData();   numCols = rsmd.getColumnCount();   //打印列名   for (i = 1; i<= numCols; i++)      System.out.print(rsmd.getColumnName(i)+"     ");   System.out.println();   //打印列内容   boolean more = results.next();   while (more)      {     for (i = 1; i <= numCols; i++)        System.out.print(results.getString(i)+"     ";     System.out.println();     more = results.next();     }  } catch(Exception e)   {System.out.println(e.getMessage());}}

9 7 3 1 2 3 4 5 6 7 8 4 8 :


 
 
标签: 数据库对象 , JDBC , 创建 , 数据 , 对象 , JDB 打印本文
 
 
  相关资讯
RSS
 
无相关新闻
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站