0

txt ファイルからデータを読み取り、それらを mysql のテーブルに格納するプログラムを作成しています。プログラムの開始時に、テーブルに含まれるすべてのフィールド (ID、名前、テキスト、価格、日付、リットル) を含むテーブルが作成されます。コードは上に示されています。

private static String getCreateTable1(Connection con, String tablename) {

try {
    Class.forName("com.mysql.jdbc.Driver");
    Statement stmt = con.createStatement();
    String createtable = "CREATE TABLE " + tablename
            + " ( ID INT, name VARCHAR(255), text VARCHAR(255), price INT , date DATE, litres DECIMAL (20,8) )";
    System.out.println("Create a new table in the database");
    stmt.executeUpdate(createtable);
} catch (Exception e) {
    System.out.println(((SQLException) e).getSQLState());
    System.out.println(e.getMessage());
    e.printStackTrace();
}

return null;
}

私が解決しなければならない問題は、テキスト ファイル内のデータが次の図のようになっていることです。ここに画像の説明を入力

ID は 3 行目、NAME は 5 行目にあり、次にどこにも格納されないデータを含む行があり、1 行の後に 4 列のデータがあります。最初は「価格」の後の「テキスト」、次は「日付」、最後は「リットル」です。

たとえば 3 行目を読み取り、ID の値のみを取得して ID フィールドに格納するにはどうすればよいでしょうか。誰でも私を助けることができますか?

4

2 に答える 2

0

SQL コマンドで CSV ファイルからデータを直接インポートできます。http://dev.mysql.com/doc/refman/5.1/en/load-data.htmlを参照してください。

また、Java で CSV から読み取り、データベースに保存することもできます。http://opencsv.sourceforge.net/を参照してください。

于 2013-06-17T14:26:41.907 に答える