Java ResultSet中返回的列的顺序
我有一个Java程序从Access数据库读取数据,每次动态创建表,列的数量根据填充的数据而变化 该表包含如下所示的列。只有列Java ResultSet中返回的列的顺序,java,ms-access,jdbc,Java,Ms Access,Jdbc,我有一个Java程序从Access数据库读取数据,每次动态创建表,列的数量根据填充的数据而变化 该表包含如下所示的列。只有列RowID和StatusOfProcessing是固定的,并且将位于末尾 column1,column2,column3。。。columnN,RowID,处理状态 下面是一段代码 String str = "SELECT TOP 50 * FROM Dynamic_table WHERE StatusOfProcessing='0'"; resultSet = stmt.
RowID
和StatusOfProcessing
是固定的,并且将位于末尾
column1,column2,column3。。。columnN,RowID,处理状态
下面是一段代码
String str = "SELECT TOP 50 * FROM Dynamic_table WHERE StatusOfProcessing='0'";
resultSet = stmt.executeQuery(str);
从ResultSet读取数据时,它是否总是按上面列出的顺序包含列,或者我应该使用
String str = "SELECT TOP 50 column1,column2,column3 .... columnN,RowID,StatusOfProcessing FROM Dynamic_table WHERE StatusOfProcessing='0'";
resultSet = stmt.executeQuery(str);
有人能澄清一下吗?
SELECT*
通常会按创建列的顺序返回列,例如,列在CREATE TABLE
语句中出现的顺序。但是,请记住,除了通过索引检索列的值之外,如
int col1value=resultSet.getInt(1);
您还可以通过引用给定列的名称来检索该列中的值,如中所示
int col1value=resultSet.getInt(“column1”);
此外,如果需要查看列的实际顺序或验证结果集中列的名称和类型,则可以使用对象获取该信息。
SELECT*
通常会按照创建列的顺序返回列,例如。,它们在CREATE TABLE
语句中出现的顺序。但是,请记住,除了通过索引检索列的值之外,如
int col1value=resultSet.getInt(1);
您还可以通过引用给定列的名称来检索该列中的值,如中所示
int col1value=resultSet.getInt(“column1”);
此外,如果需要查看列的实际顺序或验证结果集中列的名称和类型,则可以使用对象获取该信息。如果使用*,它将按照创建字段的顺序返回字段。如果希望它们按不同的顺序排列,则需要按特定的顺序指定它们。这对你自己来说应该很容易测试。。。否?如果使用*,它将按照创建字段的顺序返回字段。如果希望它们按不同的顺序排列,则需要按特定的顺序指定它们。这对你自己来说应该很容易测试。。。不