社区
Java SE
帖子详情
请教,如何得到一个表得主键是哪几列?使用jdbc,可以得到吗?我查了没查到.
superzrb
2005-03-03 06:22:29
如题,万分感谢!
...全文
121
3
打赏
收藏
请教,如何得到一个表得主键是哪几列?使用jdbc,可以得到吗?我查了没查到.
如题,万分感谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fog628
2005-07-08
打赏
举报
回复
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.util.List;
import java.util.ArrayList;
class AutoScrollTest{
public static Connection getConnection(String driver,
String url,
String user,
String pwd) throws Exception{
Class.forName(driver);
Connection cnn = DriverManager.getConnection(url, user, pwd);
return cnn;
}
public static List getPrimaryKeysByTableName(Connection cnn, String tableName)
throws Exception{
List list = new ArrayList();
DatabaseMetaData dbMetaData = cnn.getMetaData();
ResultSet rs = dbMetaData.getPrimaryKeys(null, null, tableName);
/* getPrimaryKeys()返回了一个ResultSet,ResultSet里面有:
*
* TABLE_CAT String => table catalog (may be null)
* TABLE_SCHEM String => table schema (may be null)
* TABLE_NAME String => table name
* COLUMN_NAME String => column name
* KEY_SEQ short => sequence number within primary key
* PK_NAME String => primary key name (may be null)
*
**/
while(rs.next()){
//只从ResultSet里面取了COLUMN_NAME
//就是主键的列名
list.add((rs.getString("COLUMN_NAME")));
System.out.println( rs.getString("TABLE_CAT") + "\t" +
rs.getString("TABLE_SCHEM") + "\t" +
rs.getString("TABLE_NAME") + "\t" +
rs.getString("COLUMN_NAME") + "\t" +
rs.getShort("KEY_SEQ") + "\t" +
rs.getString("PK_NAME"));
}
return list;
}
public static void main(String[] args){
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user = "sa";
String pwd = "";
try{
Connection c = getConnection(driver, url, user, pwd);
List primaryKeys = getPrimaryKeysByTableName(c, "authors");
System.out.println();
System.out.print("primary keys are: ");
System.out.println(primaryKeys);
}catch(Exception e){
e.printStackTrace();
}
}
}
haha-mark
2005-07-08
打赏
举报
回复
这个应该充数据库中得到,各个数据库得到的方法不同,一般都提供存储过程
shoulders
2005-07-08
打赏
举报
回复
谢谢楼上的,学到知识了。
边缘计算与智能优化算法-基于Python的天牛须搜索算法实现-面向物联网边缘设备的分布式资源调度与任务分配-用于解决边缘计算环境中计算资源有限条件下的高效任务调度问题并优化系统响应.zip
rag边缘计算与智能优化算法_基于Python的天牛须搜索算法实现_面向物联网边缘设备的分布式资源调度与任务分配_用于解决边缘计算环境中计算资源有限条件下的高效任务调度问题并优化系统响应.zip
Delphi 13控件之unidac-11.0.0-d7pro.exe
Delphi 13控件之unidac_11.0.0_d7pro.exe
openswissmaps-sdk-3.1.0-javadoc.jar
openswissmaps-sdk-3.1.0-javadoc.jar
《中国高技术产业统计年鉴》整理-地区版4.0(2000-2022年)
《中国高技术产业统计年鉴》收集了我国高技术产业生产经营、研发及相关活动等资料,较为全面地描述了我国高技术产业发展的基本状况,是社会各界了解我国高技术产业发展情况的主要资料工具书 《中国高技术产业统计年鉴》共分四个部分。首部分主要反映高技术产业企业的生产经营情况。第二部分主要反映高技术产业企业的研发活动、新产品开发和销售、专利、技术获取和改造、企业办研发机构等情况。第三部分为国际比较资料,根据世界银行等国际组织公布的高技术产业统计资料整理。第四部分为附录,包括高技术产业(制造业)分类、对照修订说明和主要统计指标解释 团队将年鉴整理为包含692个指标的面板数据,主要包括高技术产业的生产经营、R&D及相关活动、固定资产投资、进出口情况等大类 一、数据介绍 数据名称:《中国高技术产业统计年鉴》整理-地区版 数据范围:31个省份 数据年份:2000-2022年 指标数量:692个指标 数据来源:《中国高技术产业统计年鉴》 更新时间:2024年3月 版本说明:当前版本为4.0,内含原始、线性插值、ARIMA填补3个版本
kendra-jvm-1.3.72.jar
kendra-jvm-1.3.72.jar
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章