환자 테이블의 상담 필드 인 s
문자열을 수락 한 후 의사 테이블에서 최소 의사 ID를 반환하는 함수입니다. 예를 들어 필드에 "심장학"이라고 쓰면 그 필드와 관련된 최소 의사 ID가 반환됩니다.JDBC 문제에 대한 도움말
또한 의사가 무료이거나 아닌지 여부는 현재 상태로 결정됩니다.
기본적으로 의사는 무료이며 할당 후 yes로 변경됩니다.
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