[使用h2数据库和Eclipse转换varchar的数据转换错误

问题描述 投票:0回答:1

我已将eclipse与h2数据库连接,并且已经创建了一个表并插入了一些输入。这些是我的课程:

CreateTable.java:

PreparedStatement ps = con.prepareStatement("CREATE TABLE IF NOT EXISTS REGISTRATION "
            + "(id INTEGER auto_increment, "
            + " first VARCHAR(255), "
            + " last VARCHAR(255), "
            + " age INTEGER, "
            + " PRIMARY KEY ( id )) ");

    ps.executeUpdate();
    System.out.println("Table Created");

执行此命令时,它会在控制台上打印“创建的表”。

这是Insert.java类:

Connection con = DriverManager.getConnection("jdbc:h2:file:C:/h2/test", "sami", "");
PreparedStatement ps = con.prepareStatement("insert into REGISTRATION(first,last,age) values ('python', 'java', 24),"
            + "('jQuery', 'Angularjs', 10)");

    int i = ps.executeUpdate();
    System.out.println(i + " Record(s) inserted");

当我运行此命令时,它会打印2条插入的记录。

这是我的Display.java类:

Connection con = DriverManager.getConnection("jdbc:h2:file:C:/h2/test", "sami", "");
PreparedStatement ps = con.prepareStatement("select * from REGISTRATION");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
    System.out.println(rs.getInt(1) + " " + rs.getInt(2) + " " + rs.getInt(3) + " " + rs.getInt(4));
}

并且当我运行此命令时,它说“数据转换错误转换为” python“ [22018-200]”

我已经将代码更改为“准备好的语句”,但不能解决问题。

有人可以帮我吗?

非常感谢

java sql h2 data-conversion
1个回答
1
投票

您无法通过VARCHAR读取ResultSet.getInt()列,而将ResultSet.getString()用作第二和第三列。

© www.soinside.com 2019 - 2024. All rights reserved.