有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于从视图检索数据的java查询不起作用

我创建了一个视图,作为三个表的集成,但当我使用查询检索视图中的数据时。。。系统停止工作

我使用以下查询创建视图:

PreparedStatement statement1 = (com.mysql.jdbc.PreparedStatement) con1.prepareStatement("
CREATE VIEW mcps1_patients_view AS 
SELECT a.PatientID
     , PatientGender
     , PatientDateOfBirth 
     , PatientMaritalStatus
     , a.Ad_ID
     , Ad_StartDateAndTime
     , Ad_EndDateAndTime
     , d.ICD10CM_Code
     , d.PrimaryDiagnosisDescription 
  From patientcorepopulatedtable p 
  JOIN  admissionscorepopulatedtable a 
  JOIN admissionsdiagnosescorepopulatedtable d  
");  
result1 = statement1.execute();
System.out.print("connected"); 

我想对创建的视图进行查询

PreparedStatement statement4 = (com.mysql.jdbc.PreparedStatement) con2.prepareStatement(" SELECT * From mcps2_patients_view where P_ID= ? ");  
    statement4.setString(1, Hospital2_id);
    result4 = statement4.executeQuery();
    System.out.print("connected \n") 

但最后一个查询不起作用,它已停止工作

有什么问题吗??? 我该怎么解决呢


共 (1) 个答案

  1. # 1 楼答案

    我认为您混淆了一些事情,您在创建视图时传递的查询sintax应该是原生SQL。来自javadoc

    Creates a PreparedStatement object for sending parameterized SQL statements to the database

    你粘贴的内容似乎是JPQL。SQL Join语句还需要ON部分来指定正在进行连接的列。比如:SELECT... FROM patient p join patient_admission pa on pa.patient_id = p.id

    那是打字错误吗?我希望您创建视图的代码出现异常