FinalQuery라는 쿼리를 컴파일하고 싶지만 일부는 따옴표 안에 있어야합니다. 따옴표 안에 들어가야하는 부분은 문자열 변수입니다.문자열의 변수 주위에 따옴표를 포함하십시오.
- 이 FinalQuery 쿼리는 원형 차트를 만들려면 JFreeChart가 주어집니다 - 더 자세히로 이동합니다.
- 그러나 FinalQuery는 특정 사용자 선택에 따라 프로그램 내에서 컴파일됩니다.
- 사용자가 선택한 것은 JComboBox에서 만들어집니다.
public class Execute extends JFrame { private JComboBox comboAccountName = new JComboBox(); public Execute() { .................... getContentPane().add(comboAccountName); comboAccountName.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { CompileQuery(); } }); final String query = CompileQuery(); //variable query is executed in JFreeChart JButton btnDraw = new JButton("Draw"); btnDraw.setFont(new Font("Segoe UI Symbol", Font.BOLD, 15)); btnDraw.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try { JDBCPieDataset hdataset = new JDBCPieDataset(DatabaseConnection.ConnectDB(), query); JFreeChart chart = ChartFactory.createPieChart("Query", hdataset, true, true, false); ...............} String CompileQuery() { String getAccountName = (String)comboAccountName.getSelectedItem(); String FinalQuery = "SELECT status, COUNT(status) FROM main WHERE [Account Name] = "+getAccountName+" GROUP BY status"; System.out.println(FinalQuery); return FinalQuery; }; public static void main(String[] args) { Execute frame1 = new Execute(); frame1.setVisible(true); }
}
그러나 WHERE [XYZ =는 SQL 쿼리
- 여기
코드인가? 따옴표로 제공되어야합니다. 예 : 어디 [계정 이름] = "존". ABC = 변수 이름
즉
SELECT status, count(status)
FROM main
WHERE [Account Name] = getaccountName (variable)
GROUP BY status;
내가 그것을 같이 보이도록 큰 따옴표로 변수 이름을 넣을 PQR FROM
SELECT XYZ -
현재 내 쿼리는 형식입니다
내 FinalQuery 문자열 변수에 다른 변수 주위에 따옴표를 두는 방법을 제안하십시오.
나는 ... [계정 이름] = \ ""+ getAccountName + "\"이 (가) ... ";가 작동해야합니다 – user2989408
PreparedStatement를 사용할 수 없다면 따옴표를 이스케이프 처리하면됩니다. 또한 메서드 및 변수 이름은 Java에서 소문자로 시작해야합니다. –