这是我的代码。我想查询我的数据库。应将输入的信息写入文本字段。但我不能。我的错误是"结果集"线。抱歉我的英语不好。
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);
}
}});
答案 0 :(得分:0)
为了执行Query,您应该使用Statement not 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);
}
}});
答案 1 :(得分:0)
首先尝试创建一个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();
}
由于您没有处理异常,因此您可以同时捕获所有异常。这不是最好的解决方案,但现在可以使用,使您的代码更易于阅读。