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、公司的报表有增加。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)