jsp中怎么使用数据库

jsp中怎么使用数据库,第1张

JSP使用数据库的例子:

showByJdbcOdbc.jsp

<%@ page contentType="text/htmlcharset=GB2312" %>

<%@ page import="java.sql.*" %>

<HTML><BODY bgcolor=cyan>

<% Connection con

Statement sql

ResultSet rs

try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

}

catch(ClassNotFoundException e)

{ out.print(e)

}

try { con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","sa")

sql=con.createStatement()

rs=sql.executeQuery("SELECT * FROM employee WHERE salary>3000")

out.print("<table border=2>")

out.print("<tr>")

out.print("<th width=100>"+"雇员号")

out.print("<th width=100>"+"姓名")

out.print("<th width=50>"+"出生日期")

out.print("<th width=50>"+"薪水")

out.print("</TR>")

while(rs.next())

{ out.print("<tr>")

out.print("<td >"+rs.getString(1)+"</td>")

out.print("<td >"+rs.getString(2)+"</td>")

out.print("<td >"+rs.getDate("birthday")+"</td>")

out.print("<td >"+rs.getFloat("salary")+"</td>")

out.print("</tr>")

}

out.print("</table>")

con.close()

}

catch(SQLException e)

{ out.print(e)

}

%>

</BODY></HTML>

pst=myCon.prepareStatement(sql)//通过数据连接得到prepareStatement来执行SQL语句.其中传入Sql语句字符串参数

rs=pst.executeQuery()//执行查询,将返回结果放入ResultSetrs结果集中

if(rs.next())

{

bool=true

}

//rs.next()是否有下一个数据,如果有bool设置为真,否则还是等于初始值.

然后返回结果.

具体实现了检查用户信息是否存在.

select * from td_user where uname='"+username+"' and upass='"+userpass"

上面的SQL语句是查询所有信息在td_user表,但是uname=username还有pass = userpass

首先在JSP页面的数据库处理部分使用:try {statement(.....)}catch(SQLException e) {1、像上面的语句中,我不知道是复制过来的还是写错了:String sql=insert into tb_member values('+income+')很明显右边少了一个引号:String sql=insert into tb_member values('+income+')2、抛出异常中可能说明是违反主键约束:查看数据库表,将次主键约束暂时删除。3、抛出异常可能说明字符串被截断,说明你定义的char类型太短,一般向这样的字段保持定义在varchar(20)左右。4、本来还有可能是类型不匹配或指定参数太多或不够等,但就你题目中描述,只有一个字段就能出现这样的异常了。出于个人开发经验的一点点建议:以后连接数据库不要这样去连接,尽量使用Bean去完成,不然程序很混乱,以后维护非常困难。对数据库的 *** 作不要显示地去指定参数和表,尤其是参数,可以使用预处理方式,多步骤连贯 *** 作,可以使用事务来达到数据 *** 作的原子性,当然某些也可以通过数据库的事务去完成。多步骤的非连贯信息的 *** 作可以使用JDBC 3.0提供的批处理方式去完成以提高对数据库的批量访问成10倍得提高效率。像在做通用模板的时候,对数据库的表的指定的动态赋予的,当然对其某些字段的 *** 作也是动态的,那么数据库类型和参数的个数也是动态的,如果用上述过程去完成非常困难。尤其还要对一些数据库内部的空值异常进行处理。1、公司数据没有改变,就改变报表的样式。2、公司报表总数没有变,某些报表数据有增加或删除的现象。3、公司的报表有增加。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10803236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存