private void autoNumber(){
try{
String autonumber = "SELECT MAX(right(no_faktur,1)) FROM transaksi";
Connection con = Koneksi.getConnection();
Statement statement = (Statement) con.createStatement();
ResultSet r = statement.executeQuery(autonumber);
while (r.next()){
if (r.first() == false){
textFaktur.setText("FT001");
}else{
r.last();
int faktur = r.getInt(1)+1;
String number = String.valueOf(faktur);
int fakturlong = number.length();
for (int i = 0; i<2-fakturlong;i++){
number = "00"+number;
}
textFaktur.setText("FT"+number);
}
}
statement.close();
r.close();
}catch(SQLException e){
}
}
答案 0 :(得分:0)
您可以将该列用作auto increment
,但您应将字段指定为数字而不是文本。
将该表创建为
CREATE TABLE transaksi(
no_faktur Int NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (no_faktur )
);
然后您无需手动查找最后插入的no_faktur
。每次将记录插入表中时,表本身会自动增加该字段
答案 1 :(得分:0)
当插入值FT10时,您的查询(SELECT MAX(右(no_faktur,1))FROM transaksi)仍然返回9,因为您正在寻找1个字符的MAX值,它始终为9。
答案 2 :(得分:0)
我想我得到了答案:
Ps=con.preparestatement("select * from tablename");
Resultset rs=ps.execute query();
if(rs.last())
{
String aidv ="TAR" 1;
}
else
{
int id=RS.getRow();
id ;
aidv="TAR" id;
}