Java对数据库增删改查操作 - Go语言中文社区

Java对数据库增删改查操作


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

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

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



前面所出现的问题是,点击浏览之后,不断的重复出现信息添加在表单。
之后在看代码明白错误之后,将其解决。
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();
			}
		}
在表单添加一次全部信息之后,应该对行数进行重置清零,这样就可以确保不断点击浏览只看到一组数据。
然后,注册,就是增加。
要增加的信息在上面输入,然后点击注册,显示注册成功。表单下面增加一行新数据


之前的代码是就根本没有认真工作,是敷衍学者的代码,在我顿悟后才明白,可能不是敷衍,是几个变量我没弄明白究竟是干什么,所以就按自己想的代码解决了
		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,重新添加表单即可。
后面的修改其实也是一个意思的,修改成功之后,重新添加表单。
修改的时候,点击修改的一行,把修改的用户名写入,然后输入新的信息,点击修改,出现修改成功,新的信息会出现。
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();
				}
			}
		}
最后的删除,点击要删除的行,点击删除按钮,删除成功。

之前问题就是删除后,表单不更新或者更新有问题
		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();
				}
			}
		}
删除之后,重新添加表单,最后一行置为空即可。
以上一通操作之后,数据库中的信息,和表单显示信息一致。


在添加那里,出现了一个插曲
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语句,不要随便换行,认真仔细呢。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zy_dream/article/details/52622008
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-13 22:13:41
  • 阅读 ( 1385 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢