我有一個表格:'Categories',它有兩個字段:Category_ID和Category。 Category_ID字段中的數據類似於'c1','c2'。如果有10行,則從c1到c10。當我在此表中插入新記錄時,如何設置類似於c11或c12的Category_ID?如果沒有記錄被刪除,那麼它很容易根據行數進行設置。但用戶可以刪除記錄。我嘗試從表中檢索Category_ID,將其存儲在向量中,然後設置一個字符串變量,其中存儲所有用';'分隔的category_id。我想將c和相關的數字從Category_ID中分離出來,這樣可以在插入查詢中使用下一個數字。如何分割與字符串數組中的字符組合的數字? (eg.c1)
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]);
}
現在想從陣列分裂位和要插入下一個值,並以字符「C」附接並插入整個新紀錄。我怎樣才能分割它?例如。如果category_id是c3,那麼3必須存儲在另一個數組中,並且對於新記錄4,將插入(c4)。
非常感謝。但我使用Microsfot Access,所以Cast功能不起作用。我已經使用CINT函數,現在它的工作。 – bsm 2011-04-19 10:41:04
它在MS Access的sql視圖中工作。但是在編譯我的java文件時給我一個錯誤。 [Microsoft] [ODBC Microsoft Access驅動程序]表達式中的未定義函數'REPLACE' – bsm 2011-04-19 11:03:46
這非常奇怪,但是如果您知道第一個字符總是您將移除的字符,則可以使用以下函數:SELECT MAX(cint(MID (Category_ID,2))) FROM Categories; – 2011-04-19 12:07:55