连接oracle的一个语句,应该写成:
SELECT UNAME FROM LOGIN WHERE UID=1001 AND PASS='admin';
由于PASS是char型的,所以必须加单引号,但在写登陆框时要写成:
String sql = "SELECT UNAME FROM LOGIN WHERE UID=? AND PASS=?" ;
这种形式,再通过getparameter()获取UID和PASS,这时PASS的单引号该怎么加???不加单引号会查找不出来结果……
SELECT UNAME FROM LOGIN WHERE UID=1001 AND PASS='admin';
由于PASS是char型的,所以必须加单引号,但在写登陆框时要写成:
String sql = "SELECT UNAME FROM LOGIN WHERE UID=? AND PASS=?" ;
这种形式,再通过getparameter()获取UID和PASS,这时PASS的单引号该怎么加???不加单引号会查找不出来结果……
如果是自己拼接SQL,String sql = "SELECT UNAME FROM LOGIN WHERE UID= '"+id+"' AND PASS= '"+pass+"'" ;
原来代码如下:
PreparedStatement pstmt = null ; // 数据库预处理操作
ResultSet rs = null ; // 查询要处理结果集
boolean flag = false ; // 保存标记 Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; String sql = "SELECT UNAME FROM LOGIN WHERE UID=? AND PASS=? ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,request.getParameter("uid")) ;
pstmt.setString(2,request.getParameter("upassword")) ;
rs = pstmt.executeQuery() ; // 查询
if(rs.next()){ // 如果有数据,则可以执行
flag = true ; // 表示登陆成功
name = rs.getString(1) ;
}
输入存在的数据查找出来的值为空,那个sql语句应该写成什么样才行啊???
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
String uid=request.getParameter("uid");
String upass=request.getParameter("upassword"); String sql = "SELECT UNAME FROM LOGIN WHERE UID='"+uid+"' AND PASS= '"+upass+"'" ;
pstmt = conn.prepareStatement(sql) ;
//pstmt.setString(1,request.getParameter("uid")) ;
//pstmt.setString(2,request.getParameter("upassword")) ;
rs = pstmt.executeQuery() ; // 查询
if(rs.next()){ // 如果有数据,则可以执行
flag = true ; // 表示登陆成功
name = rs.getString(1) ;
}
请大家帮忙看下啊啊……