【发布时间】:2016-06-24 07:06:10
【问题描述】:
我想创建一个优先级编号,其中一个帐户将随机分配一个唯一编号。我目前仍在学习java和mysql,请原谅任何错误,希望你能帮助我解决这个问题。谢谢!
public void add() {
try {
Class.forName("com.mysql.jdbc.Driver"); // MySQL database connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/system?" + "user=root&password=");
PreparedStatement pstmt = null;
pstmt = conn.prepareStatement("insert into customer values (?,?,?,?,?,?,?)");
//customer_id
pstmt.setInt(1, 0);
//customer_name
pstmt.setString(2, tf_name.getText());
//customer_address
pstmt.setString(3, tf_address.getText());
//customer_contactqw
pstmt.setString(4, tf_contact.getText());
//customer_email
pstmt.setString(5, tf_email.getText());
//order_priority
pstmt.setInt(6, 1000 + RAND() * 89999); // <-- pls help me here
//customer_date
pstmt.setDate(7, convertUtilDateToSqlDate(dateChooser.getDate()));
//execute the query
pstmt.executeUpdate();
// JOptionPane.showMessageDialog(null, "Successfully added a new record!");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
【问题讨论】:
-
您忘记描述问题了。此代码以何种方式无法按预期工作?它是如何失败的?
-
您是否有任何特殊原因不想告诉我们错误是什么?试着理解我们无法从这里看到您的屏幕。
-
@David
pstmt.setInt(6, 1000 + RAND() * 89999);我这里出错了。 -
那么显然你应该更正那个错误。不管那个错误可能是什么。同样,出于某种原因,您拒绝向我们展示。
-
为什么不在数据库中做呢?
FLOOR(RAND() * 2147483648).