JAVA实现链接MySQL数据库的增删查,但是完全用不了

hzhgagaga 2017-12-13 12:47:31
public class Test2 {
public static void main(String[] args) {

SIMS s=new SIMS();
s.setTitle("JDBC");

}
}


import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import javax.swing.*;
public class SIMS extends JFrame implements ActionListener{
private static final long serialVersionUID=-4699312170519171360L;
JTextField text1,text2,text3,result;
JButton button1,button2,button3;
static Connection con=null;
public SIMS()
{
init();
setBounds(100,100,350,200);
setVisible(true);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void init()
{
text1=new JTextField(10);
text2=new JTextField(10);
text3=new JTextField(10);
result=new JTextField(20);
button1=new JButton("追加");
button2=new JButton("查询");
button3=new JButton("删除");
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
add(new JLabel("学号:"));
add(text1);
add(button1);
add(new JLabel("姓名:"));
add(text2);
add(button2);
add(new JLabel("年龄:"));
add(text3);
add(button3);
add(result);
connect();
}
static Connection connect() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/students?useSSL=true&characterEncoding=utf8", "root", "");
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();

}
return con;
}
public void insert() {
try {
Connection con = connect();
Statement statement = con.createStatement();
String sno, sname, age;
sno = text1.getText();
sname = text2.getText();
age = text3.getText();
String str = "insert into t1 values('" + sno + "','" + sname + "',"
+ age + ")";
statement.executeUpdate(str);
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void select() {
try {
Connection con=connect();
Statement statement=con.createStatement();
String sno;
sno=text1.getText();
String str="select * from t1 where sno="+sno;
ResultSet rs=statement.executeQuery(str);
while(rs.next()) {
sno=rs.getString(1);
String sname=rs.getString(2);
int age=rs.getInt(3);
result.setText(sno+" "+sname+" "+age);
}
rs.close();
statement.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
public void delete() {
try {
Connection con=connect();
Statement statement =con.createStatement();
String sno;
sno=text1.getText();
String str="delete from t1 where sno="+sno;
statement.executeUpdate(str);
statement.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
public void actionPeformed(ActionEvent e)
{
if(e.getSource()==button1)
insert();
if(e.getSource()==button2)
select();
if(e.getSource()==button3)
delete();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根

}
}


大佬们帮帮我吧!
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Royal_lr 2017-12-14
  • 打赏
  • 举报
回复
你这个打断点看下吧,操作数据库代码没啥问题,其他代码逻辑问题吧
hzhgagaga 2017-12-13
  • 打赏
  • 举报
回复
引用 1楼企鹅爱吃方便面 的回复:
怎么会用不了呢?是编译阶段报错还是什么? 1.如果是数据库连接问题:导入MySQL包。 2.如果是按钮无用(即按下后没有反应,后台也不抛出异常):if ((Button)e.getSource() == button1)强制装换一下,不过猜测只会执行button1的动作,最好还是每个按钮分开增加监听。 3.如果编译提示驱动找不到:不用想,没有mysql包是肯定的了。
插入和删除查询都用不了,数据库里的表数据没有变,也读不出来,但是应该连接了,也没有错误提示
  • 打赏
  • 举报
回复
怎么会用不了呢?是编译阶段报错还是什么? 1.如果是数据库连接问题:导入MySQL包。 2.如果是按钮无用(即按下后没有反应,后台也不抛出异常):if ((Button)e.getSource() == button1)强制装换一下,不过猜测只会执行button1的动作,最好还是每个按钮分开增加监听。 3.如果编译提示驱动找不到:不用想,没有mysql包是肯定的了。

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧