我正在编写Java应用程序。我有一个结果集。现在我想找出表的主键的列名。是否可以通过ResultSet对象或ResultSetMetaData对象或任何其他方式获取该列名称。我没有找到任何方法找到它。 最佳答案 没有。您不会从ResultSet或ResultSetMetadata获得该信息。您要使用的是DatabaseMetadata类(class)。从该类检查getPrimaryKeys方法以获取您想要的信息。当然,要使用它,您需要知道表的名称。 关于java-JAVA中如何从Resu
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:HowtogetequivalentofResultSetMetaDatawithoutResultSetStringBufferqueryBuffer=newStringBuffer("SELECT*FROM"+tableName);PreparedStatementpreparedStatement=getConnection("root","").prepareStatement(queryBuffer.toString());ResultSetresultSet=preparedStatement.e
我需要将一堆列名解析为列索引(以便使用一些不错的ResultSetMetaData方法)。但是,我知道如何获取ResultSetMetaData对象的唯一方法是在某些ResultSet上调用getMetaData()。我遇到的问题是获取ResultSet在我的脑海中占用了不必要的资源-我真的不需要查询表中的数据,我只需要有关表的一些信息。有没有人知道有什么方法可以获取ResultSetMetaData对象而不首先获取ResultSet(从一个潜在的巨大表中)? 最佳答案 也许你可以使用DatabaseMetaDatadatabase
我知道如何获取标准表中列的类型(例如SHOWFIELDSFROM...),但是有什么方法可以从自定义表中获取返回数据的类型使用各种列选择和不同表的连接进行查询(例如SELECTtable1.var1,table2.var2FROMtable1JOINtable2)? 最佳答案 MySQL站点上标题为DevelopingDatabaseApplicationsUsingMySQLConnector/C++的文章包含thefollowingsubsection:AccessingResultSetMetadataWhentheSQLst
有没有办法获取在JPA中的实体管理器上执行nativeQuery返回的结果的MetaData? 最佳答案 据我所知,没有办法获取结果集元数据,因为实际上没有办法获取结果集。但是,反过来:你想要元数据做什么?来自结果集元数据的大部分信息您已经必须能够注释您的实体类。来自传统SQL/JDBC的结果集和您从EntityManager获得的列表在概念上是不同的,即使它们可以表达相同的语义。 关于java-如何从实体管理器获取ResultSetMetaData?,我们在StackOverflow上
我有一个返回不同类型数据的ResultSet。查询是动态构造的,所以在编译时,我不知道查询会返回什么类型的值。假设所有结果都是字符串,我编写了以下代码。但我也想获得每个值的类型。我该怎么做?下面是我写的代码。while(reportTable_rst.next()){Stringcolumn=reportTable_rst.getString(columnIterator);}此时我想获取列类型,根据数据类型获取值。 最佳答案 ResultSetMetaData.getColumnType(intcolumn)返回一个int值,指定
我有一个返回不同类型数据的ResultSet。查询是动态构造的,所以在编译时,我不知道查询会返回什么类型的值。假设所有结果都是字符串,我编写了以下代码。但我也想获得每个值的类型。我该怎么做?下面是我写的代码。while(reportTable_rst.next()){Stringcolumn=reportTable_rst.getString(columnIterator);}此时我想获取列类型,根据数据类型获取值。 最佳答案 ResultSetMetaData.getColumnType(intcolumn)返回一个int值,指定
我正在使用CsvJdbc(它是用于csv文件的JDBC驱动程序)来访问csv文件。我不知道csv文件包含多少列。如何获得列数?是否有任何JDBC功能?我在java.sql.ResultSet中找不到任何方法。为了访问文件,我使用类似于example的代码。在CsvJdbc网站上。 最佳答案 您可以从ResultSetMetaData获取列号:Statementst=conn.createStatement();ResultSetrs=st.executeQuery(query);ResultSetMetaDatarsmd=rs.ge
我正在使用CsvJdbc(它是用于csv文件的JDBC驱动程序)来访问csv文件。我不知道csv文件包含多少列。如何获得列数?是否有任何JDBC功能?我在java.sql.ResultSet中找不到任何方法。为了访问文件,我使用类似于example的代码。在CsvJdbc网站上。 最佳答案 您可以从ResultSetMetaData获取列号:Statementst=conn.createStatement();ResultSetrs=st.executeQuery(query);ResultSetMetaDatarsmd=rs.ge