将数据从文本表传输到普通表hsqldb java

时间:2014-06-04 00:23:32

标签: java sql file hsqldb

我正在尝试将数据从文本表传输到普通表,其中数据最初来自txt文件。

我正在使用hsqldb

这就是我所做的。我没有错误或异常,但两个表都是空的。

String sqlkeywordcreate=new String ("CREATE TABLE keywordsTable " + " (k_id INTEGER IDENTITY not NULL PRIMARY KEY,  keywords varchar(20))");
        String sqlkeywordcreate1=new String ("CREATE TEXT TABLE tempKeywordsTable " + " (key varchar(20))");
        stmt1.executeUpdate(sqlkeywordcreate);
        stmt1.executeUpdate(sqlkeywordcreate1);
        int numOfFields=di.getAllTerms();
String setTempKeywordsTable= new String ("set table "+"tempKeywordsTable"+ " source 'keywords.txt'");
        //System.out.print(setTempKeywordsTable);
        stmt1.executeUpdate( setTempKeywordsTable);
        String insertkey=  new String("INSERT INTO keywordsTable "+"(keywords)"+ " select key from tempKeywordsTable");
        stmt1.executeUpdate(insertkey);
        String dropTempKey= new String("drop table tempKeywordsTable");
        //stmt1.executeUpdate(dropTempKey);
        String sqlcreate=new String("CREATE TABLE "+ tableName +" (id INTEGER IDENTITY not NULL PRIMARY KEY)");
        String sqlselect=new String("select k_id from keywordsTable");

请指导我并给我解决这个问题的想法。 感谢

1 个答案:

答案 0 :(得分:1)

代码看起来正确。你应该在行后添加一个测试计数" set table tempKeywordsTable source"确保数据正确链接到TEXT表。如果有数据,其余的都可以使用。

代码无效的可能原因是keywords.txt文件的路径。该文件应与其余数据库文件位于同一目录中。