我想将表的全部数据转换成文本文件,我使用如下代码

 String url = "jdbc:sqlserver://localhost:1433;databaseName=DBTEST;user=Data;password=123;";
      try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    } catch (ClassNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
try {
      Connection con = DriverManager.getConnection(url);
      Statement select = con.createStatement();
      ResultSet result = select.executeQuery
                          ("select * from testTable");

      System.out.println("Got results:");
      System.out.println(result);
      FileWriter fw = new FileWriter("I:/File/InputFile.txt");
      BufferedWriter bw = new BufferedWriter(fw);
      while(result.next())
      {
          try{
                  bw.write(String.valueOf(result.getFloat("XColumn")));; // \n is for to write in a new Line .
                  bw.newLine();
          }
          catch (Exception e) {
              System.out.println("Errrrr......... writing to a file..... :P"+e);
          }
      }
      bw.close();
      select.close();
      con.close();
    }
    catch( Exception e ) {
      e.printStackTrace();
    }


在这里,我仅获得指定的result.getFloat("XColumn")对应的column(XColumn)值。如何获得整个表格的价值?

注意:我的表格格式为testTable(XColumn,YColumn,ZColumn)。我想要txt文件中的所有列值。

最佳答案

一种选择是只检索每一列,因为您知道它的名称。

如果您不知道其名称(因为以后可能会添加其他列),则可以检索ResultSetMetaData http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getMetaData()

该元数据将提供查询在ResultSet中返回的列的数量,名称和类型。

关于java - 使用Java将表的全部数据从SQL Server获取到txt文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18980856/

10-09 16:38
查看更多