如何使用Java在mysql表中生成下一个值?

叻市

在课程表中,我的主键是course_code,它的模式类似于“ SLIOP-P-001”(SLIOP-SUBJECT INITIAL-NUMBER)

单击生成按钮时,我需要生成SLIOP-P-002。

有人可以指导我编写此代码的方法吗?

我已附上我的项目屏幕快照。我输入了以下记录。在此处输入图片说明

我试过下面的代码。但这是行不通的。

private void generate_course_codeActionPerformed(java.awt.event.ActionEvent evt) {                                                     
   String c_code=course_catergory.getSelectedItem().toString();

   if(c_code=="Printing"){ 
       try {

    pst.executeUpdate("INSERT INTO course (course_code)VALUE(?)",Statement.RETURN_GENERATED_KEYS);

        rs = pst.getGeneratedKeys();

        if (rs.next()) {
            cour_code.setText(rs.getString(1)); 
        }

        }   


   catch(Exception e){
        //JOptionPane.showMessageDialog(null,"Error occured","Error",JOptionPane.ERROR_MESSAGE);
        JOptionPane.showMessageDialog(null,e);
    }
       }
}        
天堂

我不知道创建这种模式的自动方法。但是,生成这种密钥的一种乏味的方法如下:

  1. 建立表格

    CREATE TABLE course (
       id int NOT NULL AUTO_INCREMENT,
       course_code CHAR(7) NOT NULL,
       PRIMARY KEY (id)
    );
    
  2. 插入一个课程代码的条目:

    PreparedStatement pst = connection.prepareStatement("INSERT INTO course (course_code) VALUES (?)");
    pst.setString(1, "SLIOP-P");
    pst.executeUpdate();
    // close pst
    

    这将插入course_code并为id生成一个新的整数值,您可以将其用作后缀(请参见下文)。

  3. 对所需的课程代码执行选择查询:

    PreparedStatement pst2 = connection.prepareStatement("select * from course where course_code = ?");
    pst2.setString(1, "SLIOP-P");  // this is an example; pass anything
    ResultSet rs = pst2.executeQuery();
    String courseCode = null;
    if (rs.next()) {
         courseCode = rs.getString("course_code") + "-" + String.format("%03d", rs.getInt("id"));
    }
    
  4. 从您的方法返回此课程代码:

    return courseCode;
    

但是,如果您问我,更好的方法是将所有可能的课程代码存储在地图中。除非没有要求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Java在mysql表中生成下一个值?

来自分类Dev

如何使用mysql显示下一个日期

来自分类Dev

f#生成下一个值函数

来自分类Dev

如何使用r中“下一个”组的第一个值?

来自分类Dev

如何联接同一表的下一个日期值

来自分类Dev

如何使生成器提前准备下一个值?

来自分类Dev

如何根据某些条件在表中查找下一个值

来自分类Dev

从下一个表CTE获取每个值的下一个值

来自分类Dev

MYSQL-使用下一个日期更新临时表

来自分类Dev

如何获得$(this)的下一个值

来自分类Dev

如何获得行数直到下一个值

来自分类Dev

如何达到链表的下一个值?

来自分类Dev

使用MySQL选择匹配值后没有下一个RowID的下一条记录

来自分类Dev

如何使用JavaScript在时间表中显示下一个每周重复日期?

来自分类Dev

如何在Java的循环链接列表中设置下一个值?

来自分类Dev

如何使用LINQ从通用列表中获取下一个合适的值?

来自分类Dev

如何使用插入选择语句插入下一个最大值

来自分类Dev

如何使用SPARQL查询找到资源的下一个最大值

来自分类Dev

如何使用内部联接获取“下一个列”值?

来自分类Dev

如何使用 for 循环转到列表中的下一个值?

来自分类Dev

如何使用下一个单元格的值重复代码直到空白

来自分类Dev

MYSQL如何在使用select插入时获得下一个自动增量

来自分类Dev

如何使用scrapy选择下一个节点

来自分类Dev

如何使用嵌入预测下一个单词

来自分类Dev

如何使用下一个按钮加载内容

来自分类Dev

如何使用jQuery查找下一个元素?

来自分类Dev

如何使用nodejs按下一个键?

来自分类Dev

遍历可迭代对象,如何使用next()获得上一个和下一个值?

来自分类Dev

如何使用按钮调用数组中的下一个和上一个值?

Related 相关文章

  1. 1

    如何使用Java在mysql表中生成下一个值?

  2. 2

    如何使用mysql显示下一个日期

  3. 3

    f#生成下一个值函数

  4. 4

    如何使用r中“下一个”组的第一个值?

  5. 5

    如何联接同一表的下一个日期值

  6. 6

    如何使生成器提前准备下一个值?

  7. 7

    如何根据某些条件在表中查找下一个值

  8. 8

    从下一个表CTE获取每个值的下一个值

  9. 9

    MYSQL-使用下一个日期更新临时表

  10. 10

    如何获得$(this)的下一个值

  11. 11

    如何获得行数直到下一个值

  12. 12

    如何达到链表的下一个值?

  13. 13

    使用MySQL选择匹配值后没有下一个RowID的下一条记录

  14. 14

    如何使用JavaScript在时间表中显示下一个每周重复日期?

  15. 15

    如何在Java的循环链接列表中设置下一个值?

  16. 16

    如何使用LINQ从通用列表中获取下一个合适的值?

  17. 17

    如何使用插入选择语句插入下一个最大值

  18. 18

    如何使用SPARQL查询找到资源的下一个最大值

  19. 19

    如何使用内部联接获取“下一个列”值?

  20. 20

    如何使用 for 循环转到列表中的下一个值?

  21. 21

    如何使用下一个单元格的值重复代码直到空白

  22. 22

    MYSQL如何在使用select插入时获得下一个自动增量

  23. 23

    如何使用scrapy选择下一个节点

  24. 24

    如何使用嵌入预测下一个单词

  25. 25

    如何使用下一个按钮加载内容

  26. 26

    如何使用jQuery查找下一个元素?

  27. 27

    如何使用nodejs按下一个键?

  28. 28

    遍历可迭代对象,如何使用next()获得上一个和下一个值?

  29. 29

    如何使用按钮调用数组中的下一个和上一个值?

热门标签

归档