此内容重点通俗的说ResultSet.next()的方式,先说明代码原理:
通过获取输入框内的内容与数据库中的表格信息进行比较来判断用户名与密码是否正确。
通俗的讲,sql语句实行完毕后的结果的是指向表格的列名行(箭头所指)
每写一行next(),箭头就会往下移动一行,getString(1) //1表示第一列// 表示第一行的第一个属性,getString(2) //2表示第二列// 表示第一行的第二个属性;
比如我想获取小红的Name和Password,小红在第二行需要箭头向下移动两次,所以需要两个result.next(),然后再通过result.getString(1) //或者用reslut.getString("Name")// 来获取"小红",result.getString(2) //或者用reslut.getString("Password")// 来获取"231"。
总而言之,就是先通过next()的个数将箭头往下移移动,移动到指定位置再通过getString(i)来获取想要的数据。
若想使光标继续往下走,需要用迭代循环来读取,每循环一次则光标往下移动一次。再继续读取数据就可以了。
这样以后就可以将输入框内容与数据库内的表内容进行比较,从而实现登陆效果,主要代码如下:
String sql="SELECT * FROM Table_2 ;";//编写sql语句
Statement st= link.createStatement(); // Statement向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句。
ResultSet result=st.executeQuery(sql);
while (result.next()) {//当对next()方法调用返回 false,说明此时指针位于最后一行之后。(当箭头指向最后一行时,result.next()返回false)
if (result.getString("Name").equals(jt1.getText())&&result.getString("Password").equals(jt2.getText())) {
JOptionPane.showMessageDialog(null, "登陆成功", "提示", 1);
}
}