Java对数据库增删改查操作

时间:2023-01-19 19:23:49

基于前面练习所出现的问题对其进行修改,可以成功的对数据库信息进行增删改查四项基本操作。

以下是部分修改的代码,整体的代码详见前天的练习2。初始界面就不说了。

首先来到初始界面,点击浏览,会出现数据库的信息。


Java对数据库增删改查操作Java对数据库增删改查操作
Java对数据库增删改查操作
前面所出现的问题是,点击浏览之后,不断的重复出现信息添加在表单。
之后在看代码明白错误之后,将其解决。
if (e.getSource()==view){
ResultSet rs=null;
String v;
rs=new UserManage().view();
try {
while (rs.next()){
table.setValueAt(rs.getString("user_name"), ii, 0);
table.setValueAt(rs.getString("user_type"), ii, 1);
table.setValueAt(rs.getString("startdate"), ii, 2);
if (rs.getBoolean("valid")==true)
v="启用";
else
v="停用";
table.setValueAt(v, ii, 3);
ii++;
}
ii=0; //没修改之前,点击浏览,不断出现数据信息,结果在这里加入ii=0后,解决了。
} catch (SQLException e2) {
e2.printStackTrace();
}
}
在表单添加一次全部信息之后,应该对行数进行重置清零,这样就可以确保不断点击浏览只看到一组数据。
然后,注册,就是增加。
要增加的信息在上面输入,然后点击注册,显示注册成功。表单下面增加一行新数据
Java对数据库增删改查操作
Java对数据库增删改查操作
之前的代码是就根本没有认真工作,是敷衍学者的代码,在我顿悟后才明白,可能不是敷衍,是几个变量我没弄明白究竟是干什么,所以就按自己想的代码解决了
		if (e.getSource()==regis){
if (new UserManage().addUsers(u_name, u_password, u_type, date, flag)){
ResultSet rs=null;
String v;
rs=new UserManage().view();
try {
while (rs.next()){
table.setValueAt(rs.getString("user_name"), ii, 0);
table.setValueAt(rs.getString("user_type"), ii, 1);
table.setValueAt(rs.getString("startdate"), ii, 2);
if (rs.getBoolean("valid")==true)
v="启用";
else
v="停止";
table.setValueAt(v, ii, 3);
ii++;
}
ii=0;
} catch (SQLException e5){
e5.printStackTrace();
}

}
}
添加成功之后,用ResultSet,重新添加表单即可。
后面的修改其实也是一个意思的,修改成功之后,重新添加表单。
Java对数据库增删改查操作
Java对数据库增删改查操作
修改的时候,点击修改的一行,把修改的用户名写入,然后输入新的信息,点击修改,出现修改成功,新的信息会出现。
if (new UserManage().isExist(name)){
这里之前写的是(!参数),结果后来看到一想,他喵的应该是名字存在了,是真的,就执行啊。都没有这个人的话,何来修改呢。
		if (e.getSource()==edit){				//修改成功之后,表单显示问题
if (u_name.equals("")){
u_name=(String)table.getValueAt(table.getSelectedRow(), 0);
}
if (new UserManage().updateUser(u_name, u_password, u_type, date, flag)){
ResultSet rs=null; //解决!之前修改后哦,是没把信息重新添加表单
String v;
rs=new UserManage().view();
try {
while (rs.next()){
table.setValueAt(rs.getString("user_name"), ii, 0);
table.setValueAt(rs.getString("user_type"), ii, 1);
table.setValueAt(rs.getString("startdate"), ii, 2);
if (rs.getBoolean("valid")==true)
v="启用";
else
v="停用";
table.setValueAt(v, ii, 3);
ii++;
}
ii=0;
} catch (SQLException e2) {
e2.printStackTrace();
}
}
}
最后的删除,点击要删除的行,点击删除按钮,删除成功。
Java对数据库增删改查操作
Java对数据库增删改查操作
之前问题就是删除后,表单不更新或者更新有问题
		if (e.getSource()==delete){			//目前删除后表单不跟新
int k=0;
int r=table.getSelectedRow();
String ss=(String)table.getValueAt(r, 0);

if (new UserManage().deleteUser(ss)){
ResultSet rs=null;
String v;
rs=new UserManage().view();
try {
while (rs.next()){
table.setValueAt(rs.getString("user_name"), k, 0);
table.setValueAt(rs.getString("user_type"), k, 1);
table.setValueAt(rs.getString("startdate"), k, 2);
if (rs.getBoolean("valid")==true)
v="启用";
else
v="停用";
table.setValueAt(v, k, 3);
k++;
}
table.setValueAt("",k,0); //问题从这里解决了,不过准确的来说是把上面while
table.setValueAt("",k,1); //循环里的k确定明白咯,然后在这四行进行删除后的表单
table.setValueAt("",k,2); //跟新,但是这里的更新不能说是更新,因为上面while里的内容
table.setValueAt("",k,3); //就相当于更新,这里就把最后一个多余出来的表单设成空的即可
k=0;
} catch (SQLException e2) {
e2.printStackTrace();
}
}
}
删除之后,重新添加表单,最后一行置为空即可。
以上一通操作之后,数据库中的信息,和表单显示信息一致。
Java对数据库增删改查操作

在添加那里,出现了一个插曲
String sql="insert into userInfo(user_name,user_pass,user_type,startdate,valid)values ('"+name+"','"+word+"','"+type+"','"+date+"',"+f+")";
开始这里出现了类似这个错误
MySQL遇到check the manual that corresponds to your MySQL server version for the right syntax错误
找了一会,有的是关键字命名问题,而我的这里是valid后面多了一个  ,    就是它害的,添加语句会有问题。所以,掌握sql语句,不要随便换行,认真仔细呢。