JDBC의 SELECT 문

mee123
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.swing.JOptionPane;


public class Main
{
public static void main (String[] args) throws Exception

{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con =       DriverManager.getConnection("jdbc:mysql://localhost:3306/convocation","root","");



int id_convo= Integer.parseInt(JOptionPane.showInputDialog(null,"Please Insert Student ConvoID"));

PreparedStatement statement = con.prepareStatement("select name, course from stud_details where id='"+id_convo+"' ");

ResultSet result = statement.executeQuery();

while(result.next())
{
    JOptionPane.showMessageDialog(null, result.getString(1) + " "+ result.getString(2));
}
}
}

이름과 코스 만 표시되는 진술에 문제가 있습니다. 수상 이유를 모르겠습니다. 이미 데이터베이스에 있으며 SQL 문에서 처음 두 개만 표시됩니다. SELECET *을 수행하는 경우에도 동일합니다. 데이터베이스의 처음 두 개만 표시됩니다.

감사

엘리엇 프레쉬

왜 상이 표시되지 않는지 모르겠습니다.

검색어 변경

select name, course

...에

select name, course, award

그리고

JOptionPane.showMessageDialog(null, result.getString(1) + " "
    + result.getString(2));

...에

JOptionPane.showMessageDialog(null, result.getString(1) + " "
    + result.getString(2) + " " + result.getString(3));

또한 JDBC 4.0 및 Java 6부터는 JDBC 드라이버를 다음과 같이 등록 할 필요가 없습니다.

Class.forName("com.mysql.jdbc.Driver").newInstance();

편집하다

그리고 주석에서 언급했듯이 매개 변수를 바인딩 하여 PreparedStatement 올바르게 사용해야합니다 . 처럼,

PreparedStatement statement = con.prepareStatement(
    "select name, course from stud_details where id=?");
statement.setInt(1, id_convo);

마지막으로 블록의 close()모든 것을 잊지 마십시오 finally.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사