这是一个函数,它在接受字符串s
(这是患者表中的咨询字段)后从医生表中返回最小医生ID。例如,如果我在现场写了“心脏病学”,那么它会返回与该字段有关的最低医生ID。帮助解决JDBC问题
此外,如果医生是免费的,将由其现状决定。
默认情况下,医生是免费的,并且在他被分配后将被改为是。
SQL语句存在问题。
public int getDocID(String s)
{
int did = 0;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =
DriverManager.getConnection("jdbc:odbc:patientDSN");
Statement stat = con.createStatement();
ResultSet rs =
stat.
executeQuery
("select min(Doc_ID) from Doctor where (Doc_CurrentStatus='No' and Doc_Speciality like '%"
+ s + "'%'");
if (rs.next()) {
did = rs.getInt(1);
}
System.out.println(did);
PreparedStatement ps1 =
con.
prepareStatement
("UPDATE Doctor SET Doc_CurrentStatus='Yes' where Doc_ID = "
+ did + "");
ps1.executeUpdate();
}
catch(Exception e) {
e.printStackTrace();
}
return did;
}
您必须格式化好。你使用的是什么DBMS?什么连接器?粘贴StackTrace – santiagobasulto 2010-07-01 15:44:15