jsp连接数据库,不明白语句的意思
<%Connectioncon=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con=DriverMana...
<% Connection con=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:userManage","",""); Statement stmt=con.createStatement(); String sql=""; ResultSet rs =null; String name=new String(request.getParameter("name").getBytes("iso8859_1"),"gbk"); String sex=new String(request.getParameter("sex").getBytes("iso8859_1"),"gbk"); String age=request.getParameter("age"); String diploma=new String(request.getParameter("diploma").getBytes("iso8859_1"),"gbk"); String tel=request.getParameter("tel"); sql="select name from user where name='"+name+"'"; rs=stmt.executeQuery(sql); if(rs.getRow()>0){ response.sendRedirect("errorpage.jsp"); } sql="insert into user(name,sex,age,diploma,tel)"; sql=sql+"values('"+name+"','"+sex+"','"+age+"','"+diploma+"','"+tel+"')"; stmt.executeUpdate(sql); out.println("<font size=3 color=#3366FF>正在处理数据,请稍候……</font>"); %> 有谁可以详细一点可以为我解说一下上面的代码吗?我是刚学到这里的。。
展开
1个回答
展开全部
这是用odbc连接.sun.jdbc.odbc.JdbcOdbcDriver是驱动类.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");是加这个驱动类.con=DriverManager.getConnection("jdbc:odbc:userManage","","");能后得到用DriverManager.getConnection得到和数据源的连接.用户名为空,密码为空.能后连接对象con.createStatement();得到一个Statement对象.这个对象是用来用于执行静态 SQL 语句并返回它所生成结果的对象。String name=new String(request.getParameter("name").getBytes("iso8859_1"),"gbk"); String sex=new String(request.getParameter("sex").getBytes("iso8859_1"),"gbk");这个是得到客户端传过来的name和sex数据并且用gbk编码 .String age=request.getParameter("age");String tel=request.getParameter("tel");是的到客户端传过来的age和tel数据.能后构建一个sql脚本语句.sql="select name from user where name='"+name+"'";能用上面得到的Statement对象执行这个查询语句.stmt.executeQuery(sql);得到一个记录集数据(就是你查询的结果)-ResultSet对象.if(rs.getRow()>0) { response.sendRedirect("errorpage.jsp"); }意思就是 如果rs有大于0行数据-也就是说user表有name为客户端传过来的名字的记录则浏览器转向errorpage.jsp这个页面也将不执行下面的语句. 如果没有的话.那就执行下面的插人语句. 这个是典型的用户注册程序.也就是说你用户名不能为人家注册了的名字.比如说人家注册了用户名xiaoxiao.你也注册个小小那就重名了.重名是肯定是不允许的.不重的才能注册.
求采纳
求采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询