CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

急急急!!!通过ResultSetMetaData如何获得外键所在的表以及表中所对应字段?

楼主wunglee(寂寞让我如此努力)2003-08-01 23:52:18 在 Java / J2EE / EJB / JMS 提问

我已经在oracle中设置了外键约束,但是ResultSetMetaData.getTableName为空字符串,而且ResultSetMetaData中找不到获得表中所对应字段的方法,请教高手,急急急!!!oracle自带的包中有解决该问题的相关方法么? 问题点数:0、回复次数:2Top

1 楼wunglee(寂寞让我如此努力)回复于 2003-08-02 15:08:19 得分 0

现在我用databaseMetaData.getImportedKeys(catalog,schema,tableName)获取,由于不理解catalog和schema,就都传入null,得到的结果集为空,求助!!!Top

2 楼luckyfanjian(luckyfan)回复于 2003-08-02 15:23:48 得分 0

给你一个例子:不过方法不全  
  package   metadata;  
   
  import   java.sql.*;  
  import   java.util.*;  
  import   connections.*;  
   
  public   class   GetResultSetMetaDataOne   {  
      public   static   void   main(String[]   args)   {  
          Connection   conn   =   null;  
          Statement   stmt   =   null;  
          ResultSet   rset   =   null;  
   
          try   {  
              conn   =   ConnectionFactory.getConnection();  
              stmt   =   conn.createStatement();  
              String   sql   =    
                  "select   artistid,   artistname,   artistimagefilespec,   artistbiotext   from   artistsandperformers";  
              rset   =   stmt.executeQuery(sql);  
              ResultSetMetaData   rsmd   =   rset.getMetaData();  
   
              int   cols   =   rsmd.getColumnCount();  
              for   (int   i   =   1;   i   <=   cols;   i++)   {  
                  System.out.println("Column   "   +   i);  
                  System.out.println("Name:   "   +   rsmd.getColumnName(i));  
                  System.out.println("Table   Name:   "   +   rsmd.getTableName(i));  
                  System.out.println("Schema   Name:   "   +   rsmd.getSchemaName(i));  
                  System.out.println("Class:   "   +   rsmd.getColumnClassName(i));  
                  System.out.println("Type:   "   +   rsmd.getColumnType(i));  
                  System.out.println("Type   name:   "   +   rsmd.getColumnTypeName(i));  
                  System.out.println("Auto   increment:   "   +   rsmd.isAutoIncrement(i));  
                  System.out.print("Is   nullable:   ");  
                  switch   (rsmd.isNullable(i))   {  
                  case   ResultSetMetaData.columnNoNulls:  
                      System.out.println("No   Nulls");  
                      break;  
                  case   ResultSetMetaData.columnNullable:  
                      System.out.println("Nullable");  
                      break;  
   
                  case   ResultSetMetaData.columnNullableUnknown:  
                      System.out.println("Unknown");  
                      break;  
                  }  
                  System.out.println();  
              }    
          }   catch   (Exception   e)   {  
              e.printStackTrace();  
          }    
          finally   {  
              ConnectionFactory.close(rset);  
              ConnectionFactory.close(stmt);  
              ConnectionFactory.close(conn);  
          }    
      }    
  }Top

相关问题

  • 如何将表中的字段设为关键字段?
  • Access表中 哪个字段是主键
  • 我在A库中有表1(字段1主键,字段2,字段3),B库中表2(字段1主键,字段2,字段3),表1与表2的结构相同,数据数相同,现要将B库中的字段
  • 请问syscolumns表中哪个字段表示主键?
  • 如何分析出一个表的关键字段???也就是关键字段的信息在哪里存储?
  • 列出表字段?
  • 用Ado如何得到表中那一个字段是主键?
  • 请问如何在SQL2000中获取表的主键字段
  • 如何知道一个表里那些字段是关键字
  • 如何不让表中非主键字段内容不重复

关键词

  • sql
  • null
  • resultsetmetadata
  • 表
  • rset
  • stmt
  • 方法
  • conn
  • import

得分解答快速导航

  • 帖主:wunglee

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo