单击按钮登录失败?

时间:2014-04-14 09:26:48

标签: java jdbc

我有一张桌子:

create table User1(Username varchar2(20) ,
 First_Name varchar2(20) ,
 Last_Name varchar2(20) , 
Password varchar2(20) ,
 Date_Of_Birth Date )

以下jdbc代码::

if(e.getSource()==submit)
        {
        Connection con=null;
        ResultSet rs=null;
        PreparedStatement st=null;
        try
        {
            Class.forName("oracle.jdbc.OracleDriver");
             con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1522:xe", "hr", "hr");
            st=con.prepareStatement("select count(1) from User1 where Username = ? and Password = ? ");
            //st.setParameter(1, text1.getText());
            //st.setParameter(2, p1.getText());
            st.setString(1,text1.getText());
            st.setString(2,text1.getText());
             rs= st.executeQuery();
            //String t1=text1.getText();
            //String t2= p1.getText();
        while(rs.next())
        {
            if (rs.getInt(1) == 1)
                 {
                 new Rec_options();
                }
        }
        }
        catch(SQLException ee)
        {
        System.out.println(ee);
        }
        catch(Exception e1)
        {
        System.out.println(e1);
        }
        finally
        {
        try
        {
         rs.close();
         con.close();
        st.close();
        }
        catch(SQLException eee)
        {
        System.out.println(eee);
        }
        }
        }

while循环中是否有问题?当我点击提交按钮,另一页" Rec_options"应该打开,但这里没有任何事情发生,我也没有收到任何错误或cmd中的任何内容。我输入正确的用户名和密码。 请帮忙!! 感谢..

3 个答案:

答案 0 :(得分:0)

您已使用" st.setString(1,text1.getText());"两次。我认为您应该将第二个更改为密码字符串。

答案 1 :(得分:0)

你在准备陈述中似乎有一个错字:

st.setString(1,text1.getText());
st.setString(2,text1.getText());   //   <---- You are passing your username twice.

答案 2 :(得分:0)

尝试使用指示其类型和用途的变量名称

txtuser

txtpassword