标题:为什么查询的结果得不到啊
只看楼主
lychee
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-9
 问题点数:0 回复次数:3 
为什么查询的结果得不到啊

我的原代码如下:

import java.sql.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class linksuper {
//数据连接用的变量!!!
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
String str = "";
boolean linkok = false;

public linksuper(String username,String userpass) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String URL = "jdbc:odbc:supermarket";
conn = DriverManager.getConnection(URL,"sa","");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from userlogin where userid='"+username+"'and 登陆密码='"+userpass+"'";
rs = stmt.executeQuery(SQL);
if(rs.next())
{
linkok = true;
stmt.close();
conn.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public linksuper(String SQL,int i) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String URL = "jdbc:odbc:supermarket";
conn = DriverManager.getConnection(URL,"sa","");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
if(i==0)
{
linkok = true;
int y= stmt.executeUpdate(SQL);
if(y<0)
JOptionPane.showMessageDialog(null,"更新失败!");
else
JOptionPane.showMessageDialog(null,"更新成功!");
}
else
{
rs = stmt.executeQuery(SQL);

if (rs.next())
{
JOptionPane.showMessageDialog(null,rs.getString(1)); 在这能看到RS的值!
linkok = true;

stmt.close();
conn.close();
}
}

}
catch(Exception e)
{
e.printStackTrace();
}
}
public ResultSet getrs()
{
return rs; 得到的RS中什么也没有!
}
public boolean getlink()
{
return linkok;
}
}
这是为什么啊 怎么才能解决?
各位大哥大姐教小弟一把!

搜索更多相关主题的帖子: false null 
2007-05-05 08:28
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
if(rs.next())

这一句已经把rs里面的游标指向下一条了

如果你的记录只有一条,那么现在将没有记录了

可惜不是你,陪我到最后
2007-05-05 08:55
lychee
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-9
得分:0 
噢 !
那就是还要在if(rs.next())里面加一个rs.first()了?
这样不是就可以了啊
呵呵
谢谢版主

2007-05-05 09:29
lychee
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-9
得分:0 
不对吧
if (rs.next())
{
JOptionPane.showMessageDialog(null,rs.getString(1)); 在这能看到RS的值
linkok = true;

stmt.close();
conn.close();
}

那在JOptionPane.showMessageDialog(null,rs.getString(1)); 在这能看到RS的值
怎么还能看到呢?


2007-05-05 09:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-136972-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.669510 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved