这是我的代码。我想查询我的数据库。传入信息应写入文本字段。但我做不到。我的错误是"结果集"行。抱歉我英语不好。
btnBul.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String arananad=textField_5.getText();
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection baglanti = null;
try {
baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/iscikayit", "root", "");
} catch (SQLException e) {
e.printStackTrace();
}
String query="SELECT * FROM isci";
Statement ifade = null;
ResultSet rs = baglanti.executeQuery(query);
try {
ifade = baglanti.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
while (rs.next())
{
int tcsi = rs.getInt("tc");
String adi = rs.getString("ad");
String soyadi=rs.getString("soyad");
int telnosu=rs.getInt("telno");
String epostasi=rs.getString("eposta");
String egitimi=rs.getString("egitim");
String adresi=rs.getString("adres");
String cinsiyeti=rs.getString("cinsiyet");
String askerliki=rs.getString("askerlik");
String ehliyeti=rs.getString("ehliyet");
textArea_1.setText("Tc:"+tcsi+"Adı:"+adi+"Soyadı:"+soyadi+"Telefon Numarası:"+telnosu+"E-posta adresi:"+epostasi+"Eğitim Düzeyi:"+egitimi+"Adresi:"+adresi+"Cinsiyet:"+cinsiyeti+"Askerlik:"+askerliki+"Ehliyet:"+ehliyeti);
}
}});
为了执行Query,您应该使用Statement而不是Connection。Connection类没有executeQuery方法,请像以下一样更改它
Statement ifade = baglanti.createStatement();
ifade.executeQuery(query)
完整的代码可以像这个
btnBul.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String arananad=textField_5.getText();
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection baglanti = null;
try {
baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/iscikayit", "root", "");
} catch (SQLException e) {
e.printStackTrace();
}
String query="SELECT * FROM isci";
Statement ifade = null;
ResultSet rs = null
try {
ifade = baglanti.createStatement();
rs = ifade.executeQuery(query)
} catch (SQLException e) {
e.printStackTrace();
}
while (rs.next())
{
int tcsi = rs.getInt("tc");
String adi = rs.getString("ad");
String soyadi=rs.getString("soyad");
int telnosu=rs.getInt("telno");
String epostasi=rs.getString("eposta");
String egitimi=rs.getString("egitim");
String adresi=rs.getString("adres");
String cinsiyeti=rs.getString("cinsiyet");
String askerliki=rs.getString("askerlik");
String ehliyeti=rs.getString("ehliyet");
textArea_1.setText("Tc:"+tcsi+"Adı:"+adi+"Soyadı:"+soyadi+"Telefon Numarası:"+telnosu+"E-posta adresi:"+epostasi+"Eğitim Düzeyi:"+egitimi+"Adresi:"+adresi+"Cinsiyet:"+cinsiyeti+"Askerlik:"+askerliki+"Ehliyet:"+ehliyeti);
}
}});
尝试先创建一个Statement,然后对其调用executeQuery:
String arananad = textField_5.getText();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/iscikayit", "root", "");
String query="SELECT * FROM isci";
Statement ifade = baglanti.createStatement();
ResultSet rs = baglanti.executeQuery(query);
while (rs.next()) {
int tcsi = rs.getInt("tc");
String adi = rs.getString("ad");
String soyadi=rs.getString("soyad");
int telnosu=rs.getInt("telno");
String epostasi=rs.getString("eposta");
String egitimi=rs.getString("egitim");
String adresi=rs.getString("adres");
String cinsiyeti=rs.getString("cinsiyet");
String askerliki=rs.getString("askerlik");
String ehliyeti=rs.getString("ehliyet");
textArea_1.setText("Tc:" + tcsi + "Adı:" + adi + "Soyadı:" + soyadi + "Telefon Numarası:" + telnosu + "E-posta adresi:" + epostasi + "Eğitim Düzeyi:" + egitimi + "Adresi:" + adresi + "Cinsiyet:" + cinsiyeti + "Askerlik:" + askerliki + "Ehliyet:" + ehliyeti);
}
} catch (Exception e) {
e.printStackTrace();
}
既然您没有处理异常,那么不妨一次将它们全部捕获。这不是最好的解决方案,但目前可以使用,并使代码更易于阅读。