2
可以請大家幫助我,我有麻煩讓我的主鍵進入自動增量,我的表名是書籍和列,我想成爲自動增量是serial_no,它是一個主鍵。如何自動增加JDBC中的主鍵sql
public class donate extends javax.swing.JFrame {
Connection con;
Statement stmt;
ResultSet rs;
PreparedStatement pst;
DefaultTableModel loginModel = new DefaultTableModel();
int curRow = 0;
/**
* Creates new form donate
*/
public donate() {
initComponents();
DoConnect();
showAll();
}
void showAll(){
try{
rs = stmt.executeQuery("SELECT * FROM books");
while(rs.next())
{
String book = rs.getString("book_title");
String categorie = rs.getString("category");
String status = rs.getString("book_status");
String donators = rs.getString("donator");
int serial_nos = rs.getInt("serial_no");
loginModel.addRow(new Object[]{book, categorie, status, donators, serial_nos});
}
}catch(SQLException err){
System.out.println(err);
}
}
void DoConnect() {
try{
//CONNECT TO THE DATABASE
String host = "jdbc:derby://localhost:1527/Dafuq7";
String uName ="Dafuq7";
String uPass ="Dafuq7";
con = DriverManager.getConnection(host, uName, uPass);
//EXECUTE SOME SQL AND LOAD THE RECORDS INTO THE RESULTSET
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM books";
rs = stmt.executeQuery(sql);
}
catch(SQLException err){
JOptionPane.showMessageDialog(donate.this, err.getMessage());
}
}
,這裏是5月按鈕,當我輸入的所有數據都將圍繞這樣一來,抓住我的桌子和重建提交給我的桌子的書
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String bookttl = bookt.getText();
String yourn = yn.getText();
String categ = cat.getSelectedItem().toString();
String bstat = bs.getSelectedItem().toString();
try {
rs.moveToInsertRow();
rs.updateString("book_title", bookttl);
rs.updateString("category", yourn);
rs.updateString("book_status", categ);
rs.updateString("donator", bstat);
loginModel.addRow(new Object[]{bookttl, yourn, categ, bstat});
rs.insertRow();
stmt.close();
rs.close();
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM books";
rs = stmt.executeQuery(sql);
}
catch (SQLException err) {
System.out.println(err.getMessage());
}// TODO add your handling code here:
}
BTW,我發現另一種方式它並把這個代碼在創建表腳本
SERIAL_NO INTEGER默認自動增量:1個開始遞增1 NOT NULL主鍵
添加你在 – Ram 2014-10-12 08:55:18
工作通常數據庫,發送'NULL'。沒有更多信息,沒有人可以爲您提供更有幫助的答案,因爲我們不知道正在使用的數據庫引擎或模式。 – 2014-10-12 09:03:21
你想要生成連續的數字嗎?或者你想創建一個主鍵(PK)?這兩個概念並不完全相同。 PK通常不應該/必須/是連續的,特別是如果意圖是連續的。 – user2338816 2014-10-12 09:15:10