站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题jsp连接数据库

jsp连接数据库

摘要: jsp连接数据库


数据库为SQL2000,代码如下:
<%@ page contentType="text/html; charset=gb2312"language="java"import="java.sql.*"errorPage=""%>
<%@ page import="java.sql.*"%>

<head>

无标题文档
</head>

<body>
<%Connection con;
Statement sql;
ResultSet rs;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e)
{
out.print("类找不到");
}


try
{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.17.21:1433;DatabaseName=testDatabse","sa","123456");
sql=con.createStatement();
rs=sql.executeQuery("select * from usertable");
out.print("<table>");
out.print("<tr><td colspan=8 align=center>用户数据</td></tr>");
out.print("<tr>");
out.print("<td width=100>"+"用户ID号");
out.print("<td width=50>"+"用户名");
out.print("<td width=100>"+"用户真实姓名");
out.print("<td width=50>"+"年龄");
out.print("<td width=50>"+"性别");
out.print("<td width=100>"+"联系地址");
out.print("<td width=100>"+"联系电话");
out.print("<td width=100>"+"添加时间");
out.print("</tr>");
while(rs.next())
{
out.print("<tr>");
out.print("<td>"+rs.getLong(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("<td>"+rs.getString(4)+"</td>");
out.print("<td>"+rs.getInt("user_age")+"</td>");
out.print("<td>"+rs.getString("user_sex")+"</td>");
out.print("<td>"+rs.getString("user_address")+"</td>");
out.print("<td>"+rs.getString("user_telephone")+"</td>");
out.print("<td>"+rs.getString("add_time")+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch(SQLException e1)
{out.print("SQL异常!");
}
%>
</body>

===================================
编异后运行结果:
SQL异常!
=============
怎么访问不了数据库呢?
是不是哪里错了.小弟刚学JSP


你先不要
catch(SQLException e1)
{out.print("SQL异常!");
}
这样做,按原始的做一下,看看到底怎么错法啊
catch(SQLException e1)
{
System.out.println(e1.get.....);
}


我这样子JDBC驱动没问题了吧,主要是数据库连接问题.?


如果是驱动的问题就不会报这样的错啦


数据源没配?


你数据中有值吗?你先out.println(sql)打出来。用这条语句到SQL到数据中运行一下
再看下你的字段类型rs.getLong();相对一下


报什么错呀?
能贴出来吗?


数据库中有值的.
程序只是捕捉到异常,就跳出"SQL异常"
数据源也配了


<%Connection con;
Statement sql;
ResultSet rs;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e)
{
out.print("类找不到");
}


try
{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.17.21:1433;DatabaseName=testDatabse","sa","123456");
sql=con.createStatement();
rs=sql.executeQuery("select * from usertable");



这些语句不能写在 .jsp 文件里面里


数据源的问题?



你让他自己捕获异常,就知道是那的错了


最好是采用MVC模式设计,不然太乱了 刚开始学就应该养成好的习惯


重新捕获异常:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
====================================
<%Connection con;
Statement sql;
ResultSet rs;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e)
{
out.print("类找不到");
}


try
{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.17.21:1433;DatabaseName=testDatabse","sa","123456");
sql=con.createStatement();
rs=sql.executeQuery("select * from usertable");



这些语句不能写在 .jsp 文件里面里
======================
那该如何写呢?望教指导





java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
这什么意思


驱动程序的问题!


你应该把连接数据库的代码单独做成一个jsp。然后用include去加载。


晕啊.我装了jdbcsp3
还是出错,


rs sql都没有关闭


你只关闭了connection



一般这个异常是由于没打数据库的补丁而导致的,打上SP3补丁


搞定了.是补丁的问题


↑返回目录
前一篇: 为什么用-lt
后一篇: Action映射成/do/*为什么提示404错误!!