在eclipse中编写数据库查询程序,要求生成窗口,有搜索按钮,可以在窗口文本框输入想要的数据,点击搜索按钮即可搜索数据库中的数据
时间: 2024-02-01 08:15:07 浏览: 68
你需要遵循以下步骤:
1. 创建一个 Java 项目,在项目中添加 JDBC 驱动程序,连接数据库。
2. 创建一个 GUI 窗口,窗口中包含一个文本框和一个按钮。
3. 在按钮的监听器中编写数据库查询的代码,将查询结果显示在窗口中。
下面是具体的实现步骤:
1. 添加 JDBC 驱动程序
在 Eclipse 中,右键单击项目名称,选择 Build Path -> Configure Build Path。在弹出的窗口中,选择 Libraries 选项卡,点击 Add External JARs 按钮,选择 JDBC 驱动程序的 JAR 文件,点击 OK 按钮。
2. 创建 GUI 窗口
可以使用 Swing 或 JavaFX 来创建 GUI 窗口,这里以 Swing 为例。创建一个继承自 JFrame 的窗口类,代码如下:
```
import javax.swing.*;
public class MyFrame extends JFrame {
public MyFrame() {
setTitle("数据库查询窗口");
setSize(400, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
getContentPane().add(panel);
JTextField textField = new JTextField(20);
panel.add(textField);
JButton button = new JButton("搜索");
panel.add(button);
setVisible(true);
}
}
```
3. 编写数据库查询代码
在按钮的监听器中编写数据库查询的代码,首先需要获取文本框中输入的数据,然后使用 JDBC 连接数据库,执行查询语句,将结果显示在窗口中。代码如下:
```
import java.sql.*;
import javax.swing.*;
public class MyFrame extends JFrame {
public MyFrame() {
// ...
button.addActionListener(e -> {
String keyword = textField.getText().trim();
if (keyword.isEmpty()) {
JOptionPane.showMessageDialog(this, "请输入搜索关键字");
return;
}
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM students WHERE name LIKE '%" + keyword + "%'";
ResultSet rs = stmt.executeQuery(sql);
StringBuilder sb = new StringBuilder();
while (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
sb.append(name).append("\t").append(age).append("\t").append(gender).append("\n");
}
rs.close();
stmt.close();
conn.close();
if (sb.length() == 0) {
JOptionPane.showMessageDialog(this, "没有搜索到相关数据");
} else {
JTextArea textArea = new JTextArea(sb.toString());
JOptionPane.showMessageDialog(this, new JScrollPane(textArea));
}
} catch (Exception ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "查询出错:" + ex.getMessage());
}
});
}
}
```
上面的代码中使用了 MySQL 数据库,如果使用其他数据库,需要修改 JDBC 驱动程序和连接字符串。
4. 运行程序
在 MyFrame 类中添加一个 main 方法,创建窗口对象,运行程序。
```
public static void main(String[] args) {
new MyFrame();
}
```
阅读全文