无法从数据库sql中提取字符串

时间:2015-06-16 22:16:13

标签: sql postgresql

我的目的是测试是否插入了用户和密码,表1中已有。 但是,如果我输入(粉红色,floyd)数据库计数中的exisit仍然为null,并且显示消息“用户不存在”。

  b.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                String user=f_user.getText().trim();
                String pass=f_pass.getText().trim();
                String sql="select   user, pass from \"Table1\" where user='"+user+"' and pass='"+pass+"'";
                rs=stat.executeQuery(sql);
                int count=0;
                while(rs.next()){
                    count++;
                }
                if (count==0) JOptionPane.showMessageDialog(null, "user doesn't exist");
                else JOptionPane.showMessageDialog(null, "acces permitted");
            } catch ( Exception ex) {
                Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
            }

        }

这是我的数据库:

enter image description here

3 个答案:

答案 0 :(得分:1)

你遇到的第一个问题 - 你更新的是你的sql无效。你错过了。

答案 1 :(得分:0)

您已经创建了table1,但sql来自table2。

答案 2 :(得分:0)

表1中的库存用户和传递参数没有相同的输入参数长度。所以,我们需要改变:

String sql="select * from \"Table1\" where trim(\"user\")= '"+user+"' and trim(\"pass\")= '"+pass+"'";

count=0

countIt(){
  for d in "$1"/*; do
    if [ -d "$d" ]; then
      count=$((count+1))
      countIt "$d"
    fi
  done
}
countIt "$1"
echo "Found $count directories and subdirectories"