String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" 中的“?”的含义
Stringsql="SELECTuserid,nameFROMtuserWHEREuserid=?ANDpassword=?"中“?”代表什么意思。代码如下:<%@pa...
String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" 中“?”代表什么意思。代码如下:
<%@ page import="java.sql.*"%>
<%!
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:ORCL" ;
public static final String DBUSER = "scott" ;
public static final String DBPASS = "lights" ;
%>
<%
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
boolean flag = false ; // 表示登陆成功或失败的标记
%>
<%
String userid = request.getParameter("userid") ; // 接收表单参数
String password = request.getParameter("password") ; // 接收表单参数
try{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,userid) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery() ;
if(rs.next()){
// 如果有内容,则此处执行,表示查询出来,合法用户
flag = true ;
}
}catch(Exception e){
}finally{
try{
conn.close() ; // 连接一关闭,所有的操作都将关闭
}catch(Exception e){}
}
%>
<%
if(flag){ // 登陆成功,应该跳转到success.jsp
%>
<jsp:forward page="success.jsp"/>
<%;
}else{ // 登陆失败,跳转到failure.jsp
%>
<jsp:forward page="failure.jsp"/>
<%
}
%> 展开
<%@ page import="java.sql.*"%>
<%!
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:ORCL" ;
public static final String DBUSER = "scott" ;
public static final String DBPASS = "lights" ;
%>
<%
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
boolean flag = false ; // 表示登陆成功或失败的标记
%>
<%
String userid = request.getParameter("userid") ; // 接收表单参数
String password = request.getParameter("password") ; // 接收表单参数
try{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,userid) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery() ;
if(rs.next()){
// 如果有内容,则此处执行,表示查询出来,合法用户
flag = true ;
}
}catch(Exception e){
}finally{
try{
conn.close() ; // 连接一关闭,所有的操作都将关闭
}catch(Exception e){}
}
%>
<%
if(flag){ // 登陆成功,应该跳转到success.jsp
%>
<jsp:forward page="success.jsp"/>
<%;
}else{ // 登陆失败,跳转到failure.jsp
%>
<jsp:forward page="failure.jsp"/>
<%
}
%> 展开
6个回答
展开全部
String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,userid) ; // 这里设置了第一个?的值
pstmt.setString(2,password) ; // 这里设置了第二个?的值
等你“setString”完所有的?后,你的sql就构造好了。
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,userid) ; // 这里设置了第一个?的值
pstmt.setString(2,password) ; // 这里设置了第二个?的值
等你“setString”完所有的?后,你的sql就构造好了。
展开全部
“?”是占位符的意思,在?位置,我们要自定义值;
好处是:可以帮你节省拼接字符串的麻烦。
好处是:可以帮你节省拼接字符串的麻烦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等于就是留个空,有参数往里填
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你补充一下最基本的JDBC的知识,
等你了解JDBC之后,一切都明白了,
有时候问是好方法,可这些问题还是自己了解比较用价值
等你了解JDBC之后,一切都明白了,
有时候问是好方法,可这些问题还是自己了解比较用价值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询