public int makeID(String table, String field1, String field2, String value1,
  boolean type1)
{
int out = -1;
String sql = "";
try
{
//只有唯一主键field1
sql = "select " + field1 + " as ID from " + table + " order by " +
field1;
//有两个主键field1、field2
if(!value1.equals(""))
{ //当第一个字段不空时,作为条件查询第二个字段
sql = "select " + field2 + " as ID from " + table + " where " +
field1 +"=" + value1 + " order by " + field2;
if(!type1)
{ //是字符串时 将type1设为false
sql = "select " + field2 + " as ID from " + table +
" where " +field1 + "='" + value1 + "' order by " + field2;
}
}
pstm = conn.prepareStatement(sql);
rs = pstm.executeQuery();
int t1 = 1;
int t2 = 2;
if(rs.next())
{ //有记录
t1 = rs.getInt("ID");
out = t1;
boolean bool = false;
while(rs.next())
{ //不止一条纪录
bool = true;
t2 = rs.getInt("ID");
if((t2 - t1) > 1)
{
break; //如果t2与t1相差大于1,则跳出去,新编号为t1++(见后面**)
}
t1 = t2; //否则将t2赋给t1
}
if(!bool)
{ //如果只有一条纪录
if(t1 > 1)
{
t1 = 1; //如果已有纪录的ID号大于1,则新编号设为1
}
else
{
t1++;
}
}
else
{
t1++; //**
}
}
if(out > 1)
{
out = 1;
}
else
{
out = t1; }
rs.close();
pstm.close();
}
catch(SQLException sqle)
{
System.out.println("调用SQL语句 " + sql + " 时出错;\r\n错误为:" + sqle);
}
return out;
}这段代码是什么意思啊?看的我都晕掉了??