98

CsvJdbc ( csvファイル用の JDBC ドライバー) を使用して csv ファイルにアクセスしています。csv ファイルに含まれる列の数がわかりません。列数を取得するにはどうすればよいですか? このための JDBC 関数はありますか? java.sql.ResultSet には、このためのメソッドが見つかりません。

ファイルにアクセスするには、CsvJdbc Web サイトの例と同様のコードを使用します。

4

5 に答える 5

261

ResultSetMetaDataから列番号を取得できます。

Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();

int columnsNumber = rsmd.getColumnCount();
于 2010-04-10T18:24:51.130 に答える
9
PreparedStatement ps=con.prepareStatement("select * from stud");

ResultSet rs=ps.executeQuery();

ResultSetMetaData rsmd=rs.getMetaData();

System.out.println("columns: "+rsmd.getColumnCount());  
System.out.println("Column Name of 1st column: "+rsmd.getColumnName(1));  
System.out.println("Column Type Name of 1st column: "+rsmd.getColumnTypeName(1)); 
于 2014-06-12T07:04:38.973 に答える
4

接続を確立してクエリを実行したら、次のことを試してください。

 ResultSet resultSet;
 int columnCount = resultSet.getMetaData().getColumnCount();
 System.out.println("column count : "+columnCount);
于 2016-05-16T11:11:40.890 に答える
-1

これにより、データが列に印刷され、最後の列に達すると新しい行になります。

ResultSetMetaData resultSetMetaData = res.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();
for(int i =1; i<=columnCount; i++){
                if(!(i==columnCount)){

                    System.out.print(res.getString(i)+"\t");
                }
                else{
                    System.out.println(res.getString(i));
                }

            }
于 2017-01-02T11:59:22.493 に答える