当前位置: 代码迷 >> Java相关 >> 为什么查询的结果得不到啊
  详细解决方案

为什么查询的结果得不到啊

热度:132   发布时间:2007-05-05 08:28:17.0
为什么查询的结果得不到啊

我的原代码如下:

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  

----------------解决方案--------------------------------------------------------
if(rs.next())

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

如果你的记录只有一条,那么现在将没有记录了
----------------解决方案--------------------------------------------------------
噢 !
那就是还要在if(rs.next())里面加一个rs.first()了?
这样不是就可以了啊
呵呵
谢谢版主

----------------解决方案--------------------------------------------------------
不对吧
if (rs.next())
{
JOptionPane.showMessageDialog(null,rs.getString(1)); 在这能看到RS的值
linkok = true;

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

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


----------------解决方案--------------------------------------------------------
  相关解决方案