1
我正在为大型程序编写一些SQL。最初我使用的SQL原始查询(工作),然后我切换到准备报表安全和整齐。Java准备好的语句不能输入数据并碰到catch
不幸的是,这些语句没有执行我的插入或任何其他SQL函数,并且我一直在我的try catch块中打钩。它给出的消息是查询不返回结果但是我明白,这个消息本身并不一定表示错误。
这里是我的代码,任何的帮助深表感谢
public User createNewUser(String email, String publicKey, int balance, String privateKey, int units, String type)
{
try (Connection conn = DriverManager.getConnection(connectionString);)
{
//create new user in the db
String query = "INSERT INTO " + USER_TABLE_NAME + " (email, publicKey, privateKey, balance) " +
"Values(?, ?, ?, ?)";
PreparedStatement makeNewUser = conn.prepareStatement(query);
makeNewUser.setString(1, email);
makeNewUser.setString(2, publicKey);
makeNewUser.setString(3, privateKey);
makeNewUser.setInt(4, balance)
ResultSet newUser = makeNewUser.executeQuery();
newUser.next();
}
catch(SQLException e)
{
System.out.println("EPIC FAIL " + e.getMessage());
return null;
}
,这里是为用户的表模式:
static String createUserTable = "CREATE TABLE IF NOT EXISTS " + USER_TABLE_NAME + "(\n"
+ " id integer PRIMARY KEY AUTOINCREMENT,\n"
+ " email text UNIQUE NOT NULL,\n"
+ " publicKey Text UNIQUE NOT NULL, \n"
+ " privateKey Text UNIQUE NOT NULL, \n"
+ " balance INTEGER NOT NULL \n"
+ ");";