【发布时间】:2017-01-29 08:28:09
【问题描述】:
我有问题>>
编程语言:java 数据库:Mysql数据库
我编写了一个java代码,根据方法中的数据参数从数据库中检索记录>>
代码是:
public static void Get_patient_data(String Hospital1_ID,String Hospital2_ID {
try {
Connection con = getConnection2();
PreparedStatement statement = (com.mysql.jdbc.PreparedStatement)
con.prepareStatement(
"SELECT PatientGender "+
"FROM patientcorepopulatedtable "+
"WHERE PatientID = Hospital1_ID LIMIT 1" );
ResultSet result = statement.executeQuery();
ArrayList<String> array = new ArrayList<String>();
while( result.next()) {
System.out.print("the patient Gender is" +
result.getString("PatientGender"));
}
}
catch(Exception e) {
System.out.println("Error"+e);
}
}
如您所见,问题是 Hospital1_ID 参数 .. 来自该方法,而 patientID 是表 patientcorepopulatedtable 中的一列 ...
= 相等运算符不起作用。
【问题讨论】:
-
如果
Hospital1_ID是参数,你需要把它放在撇号"WHERE PatientID =" + Hospital1_ID + " LIMIT 1"之外
标签: java sql prepared-statement