我对getColumnName()方法有疑问。我在UCanAccess库中使用它。我正在尝试获取列名并将其放在表中,就像它们在MS Access DB中一样。但是我得到随机顺序。 Mayby有人知道我的错误是什么吗?
对于测试,我删除了添加到表格并实现了打印。
代码是:
public class Connections {
private final String dbUrl="jdbc:ucanaccess://C:/Users/Admin/Desktop/DB.accdb";
private final String user="";
private final String password="";
public Statement conecting(){
Statement stat=null;
try{
Connection connection=DriverManager.getConnection(dbUrl,user,password);
stat=connection.createStatement();
}
catch(SQLException exc){
exc.printStackTrace();
}
return stat;
}
public String[] prepearedNamesOfColumns(String nameOfTable, Statement stat) throws SQLException{
String[] result=null;
ResultSet res=stat.executeQuery("select*from "+nameOfTable);
ResultSetMetaData rsmd=res.getMetaData();
int columnCount=rsmd.getColumnCount();
for(int i=1; i<=columnCount;i++){
System.out.println(rsmd.getColumnName(i));
}
return result;
}
主要课程:
public class Demonstration {
public static void main(String[] args) throws SQLException {
Connections operacje= new Connections();
String[] tab=new String[6];
tab[0]="dluznicy";
tab[1]="Filipczak";
tab[2]="Karol";
tab[3]="Poznań";
tab[4]="M";
tab[5]="34";
String[] wynik=operacje.prepearedNamesOfColumns(tab[0], operacje.conecting());
}
}
在Access我有这样的订单: 1)id_dluznik 2)nazwisko 3)伊米 4)miejsce_urodzenia 5)plec 6)wiek
但在控制台(运行后)我得到: 1)nazwisko 2)IMIE 3)miejsce_urodzenia 4)wiek 5)PLEC 6)id_dluznik
为什么我会获得列名的其他顺序?