4
String  sql = "SELECT (Employee_name, Password) FROM employee WHERE (Employee_name = '"+name+"'  AND Password = '"+password+"')";

并在 JSP java.sql.sqlexception 中获取以下异常插入操作数应包含 1 列

请帮忙。

4

3 回答 3

4

正确的方法是

String  sql = "SELECT Employee_name, Password FROM employee WHERE Employee_name = '"+name+"'  AND Password = '"+password+"'";

您可以保留()for where 子句,但不能保留在选择列表中。这就是您的情况

mysql> select (firstname,email) from users limit 1 ;
ERROR 1241 (21000): Operand should contain 1 column(s)
于 2014-04-23T09:04:55.953 回答
2

删除括号,它会工作。

String  sql = "SELECT Employee_name, Password 
           FROM employee WHERE Employee_name = '"+name+"'  
                      AND Password = '"+password+"'";

通常,当我们需要添加嵌套查询和组合条件时,我们会使用括号。如果为列名添加括号,Mysql 将其识别为单列。这就是错误按原样出现的原因。

于 2014-04-23T09:06:11.153 回答
1

您的查询必须是这样的:

String  sql = "SELECT Employee_name, Password 
                  FROM employee 
                   WHERE (Employee_name = '"+name+"'  
                     AND Password = '"+password+"')";
于 2014-04-23T09:05:27.677 回答