Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串数组中拆分与字符组合的数字?(如c1)_Java_Sql_Arrays_String_Auto Increment - Fatal编程技术网

Java 如何从字符串数组中拆分与字符组合的数字?(如c1)

Java 如何从字符串数组中拆分与字符组合的数字?(如c1),java,sql,arrays,string,auto-increment,Java,Sql,Arrays,String,Auto Increment,我有一个表:'Categories',它有两个字段:Category\u ID和Category。类别ID字段中的数据类似于“c1”、“c2”。如果有10行,则从c1到c10。在该表中插入新记录时,如何设置类别ID(如c11或c12)?如果没有删除任何记录,则可以根据行数轻松设置。但用户可以删除记录。我试图从表中检索Category_ID,将其存储在vector中,然后设置一个字符串变量,该变量存储由“;”分隔的所有Category_ID我想从Category_ID中分离c和相关数字,以便在in

我有一个表:'Categories',它有两个字段:Category\u ID和Category。类别ID字段中的数据类似于“c1”、“c2”。如果有10行,则从c1到c10。在该表中插入新记录时,如何设置类别ID(如c11或c12)?如果没有删除任何记录,则可以根据行数轻松设置。但用户可以删除记录。我试图从表中检索Category_ID,将其存储在vector中,然后设置一个字符串变量,该变量存储由“;”分隔的所有Category_ID我想从Category_ID中分离c和相关数字,以便在insert查询中使用下一个数字

   Statement st;
   ResultSet rsCatID;

   String query="";
   String querySelect="";//used to get last category_id number,so that next value will be applied in insert query.
   Vector vCatID=new Vector();
   String strCatID="";
   String[] arrCatID;    
然后在连接后的试接块线路中

       querySelect="select Category_ID from Categories";
       rsCatID=st.executeQuery(querySelect);
       while(rsCatID.next()){
            vCatID.add(rsCatID.getString("Category_ID").toString());
       }
       for(int i=0;i<vCatID.size();i++){
           strCatID+=vCatID.get(i).toString()+";";
       }

       System.out.println("strcatidcount=="+strCatID);

       arrCatID=strCatID.split(";");
       for(int i=0;i<arrCatID.length;i++){
            System.out.println("arrCatID=="+arrCatID[i]);
       }  
querySelect=“从类别中选择类别\u ID”;
rsCatID=st.executeQuery(查询选择);
while(rsCatID.next()){
添加(rsCatID.getString(“Category_ID”).toString();
}
对于(int i=0;i
或者:

SELECT MAX(cint(MID(Category_ID,2))) FROM Categories;
这将返回最高的intnum

或者:

SELECT MAX(cint(MID(Category_ID,2))) FROM Categories;

这将使最高整数返回

这太复杂了!只需使用自动递增字段。为什么类别字段必须以字母c开头?为什么不能是整数?如果需要在应用程序中以“c”开头显示,则只要从数据库中读取值,就可以修改这些值e、 但是在数据库中将它们作为整数保存。这样会更有效,并允许您避免重新发明轮子。

这太复杂了!只需使用自动递增字段。为什么类别字段必须以字母c开头?为什么不能是整数?如果您需要在应用程序中以“c”开头显示它除此之外,只要从数据库中读取值,您就可以修改这些值,但将它们作为整数保存在数据库中。这将更有效,并允许您避免重新发明轮子。

非常感谢。但我使用的是Microfot Access,所以强制转换函数不起作用。我使用了CINT function,现在它可以工作了。它在MS Access中工作ql视图。但在编译java文件时出错。[Microsoft][ODBC Microsoft Access Driver]表达式中未定义的函数“REPLACE”这非常奇怪,但如果您知道第一个字符始终是要删除的字符,则可以使用以下函数:SELECT MAX(cint(MID(类别_ID,2)))从Categories;我甚至尝试在ms access和带有替换功能的粘贴查询中创建一个新查询,在java文件中,我使用了“select*FROM query1”,但它仍然给出相同的错误。这里有人能帮我吗?你是否尝试过我提供的替代方法,看起来jet引擎甚至不支持替换功能ugh access?非常感谢。但我使用的是MicrosoftAccess,所以强制转换函数不起作用。我使用了CINT函数,现在它可以工作了。它在MS access的sql视图中工作。但在编译java文件时给我一个错误。[Microsoft][ODBC Microsoft access驱动程序]表达式中未定义的函数“REPLACE”非常奇怪,但如果知道第一个字符始终是要删除的字符,则可以使用以下函数:SELECT MAX(cint(MID(Category_ID,2)))从Categories;我甚至尝试在ms access和带有替换功能的粘贴查询中创建一个新查询,在java文件中,我使用了“select*FROM query1”,但它仍然给出相同的错误。这里有人能帮我吗?你是否尝试过我提供的替代方法,看起来jet引擎甚至不支持替换功能ugh access?谢谢。是的,第一选择总是使用自动增量字段。但是由于某些要求,我不能使用它。谢谢。是的,第一选择总是使用自动增量字段。但是由于某些要求,我不能使用它。