通过java将数据输入H2数据库时出现SQL异常
Posted
技术标签:
【中文标题】通过java将数据输入H2数据库时出现SQL异常【英文标题】:Getting SQL exception while entering data into H2 database through java 【发布时间】:2017-03-11 07:08:23 【问题描述】:公共类 RegisterDao
private static final String DB_DRIVER = "org.h2.Driver";
private static final String DB_CONNECTION = "jdbc:h2:~/test";
private static final String DB_USER = "admin";
private static final String DB_PASSWORD = "admin";
Connection dbConnection = null;
PreparedStatement pstmt = null;
public void forRegister(String name,int age,String address,String password,String email,String uuid)
try
Class.forName(DB_DRIVER);
System.out.println("Connecting to a selected database...");
catch (ClassNotFoundException e)
System.out.println(e.getMessage());
try
dbConnection = DriverManager.getConnection(DB_CONNECTION, DB_USER,
DB_PASSWORD);
System.out.println("Connected database successfully...");
//Statement stat = dbConnection.createStatement();
//ResultSet rs;
if (dbConnection != null)
System.out.println("starting entering data");
pstmt=dbConnection.prepareStatement("insert into registrationtable (?,?,?,?,?,?)");
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setString(3, address);
pstmt.setString(4, password);
pstmt.setString(5, email);
pstmt.setString(6, uuid);
pstmt.executeUpdate();
System.out.println("details are added");
catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();
finally
//finally block used to close resources
try
if(dbConnection!=null)
dbConnection.close();
catch(SQLException se)
se.printStackTrace();
//end finally try
//end try
我得到的异常: org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误“INSERT INTO REGISTRATIONTABLE (?[*],?,?,?,?,?)”;预期的“标识符”; SQL语句:insert intoregistrationtable(?,?,?,?,?,?) [42001-193]
请帮忙。提前致谢。
【问题讨论】:
插入语句的语法如下:h2database.com/html/grammar.html#insert。你的不尊重这种语法。 【参考方案1】:试试这个 sql:
insert into registrationtable (name, age, address, password, email, uuid) values (?, ?, ?, ?, ?, ?)"
其中名称、年龄、地址、密码、电子邮件、uuid 是表字段名称,因此您可能必须重命名它们以适合您的表架构。
【讨论】:
以上是关于通过java将数据输入H2数据库时出现SQL异常的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 H2 数据库更新 JDBC ResultSet 时出现异常
尝试连接到 Activiti 的 H2 数据库设置时出现异常
将数据写入 Hive Spark SQL 时出现 ArrayIndexOutOfBoundsException 异常
通过 JOOQ-meta 访问 H2 元模型时出现 SQLException