我最近用黑魔方jsp基础教程,先是在sql server服务器上的pubs数据库新建了students表,接着在odbc数据源添加了数据源,数据源名称sun,改变默认数据库为pubs,然后测试成功,添加完成。接着我用jdbc-odbc桥连,相关的students表单和代码如下:
表单:
学号 姓名 数学成绩 英语成绩 物理成绩
21 小花 90 75 97代码:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<Font size=1>
<FORM action="byname.jsp" Method="post">
<P>成绩查询
<P>输入姓名:
<Input type=text name="name">
<Input type=submit name="g" value="提交">
</Form>
<FORM action="byscore.jsp" Method="post" >
<P>根据分数查询名单:<BR> 英语分数在
<Input type=text name="englishmin" value=0>
和
<Input type=text name="englishmax" value=100>
之间
<BR> 数学分数在
<Input type=text name="mathmin" value=0>
和
<Input type=text name="mathmax" value=100>
之间
<BR> <Input type=submit value="提交">
</Form>
</BODY>
</HTML>byname.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% //获取提交的姓名:
String name=request.getParameter("name");
if(name==null)
{
name="";
}
byte b[]=name.getBytes("ISO-8859-1");
name=new String(b);
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try {
con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=con.createStatement();
String condition="SELECT * FROM students WHERE 姓名 = "+"'"+name+"'";
rs=sql.executeQuery(condition);
out.print("<Table Border>");
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("<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.getInt("数学成绩")+"</TD>");
out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{ }
%>
</BODY>
</HTML>byscore.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% //获取提交的分数的最大值和最小值:
String englishmax=request.getParameter("englishmax");
if(englishmax==null)
{
englishmax="100";
}
String englishmin=request.getParameter("englishmin");
if(englishmin==null)
{
englishmin="0";
}
String mathmax=request.getParameter("mathmax");
if(mathmax==null)
{
mathmax="100";
}
String mathmin=request.getParameter("mathmin");
if(mathmin==null)
{
mathmin="0";
}
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try
{
con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=con.createStatement();
String eCondition="英语成绩 <= "+englishmax+" AND "+"英语成绩 >= "+englishmin;
String mCondition="数学成绩 <= "+mathmax+" AND "+"数学成绩 >= "+mathmin;
String condition="SELECT * FROM students WHERE "+mCondition+" and "+eCondition;
rs=sql.executeQuery(condition);
out.print("<Table Border>");
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("<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.getInt("数学成绩")+"</TD>");
out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{}
%>
</BODY>
</HTML>
表单:
学号 姓名 数学成绩 英语成绩 物理成绩
21 小花 90 75 97代码:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<Font size=1>
<FORM action="byname.jsp" Method="post">
<P>成绩查询
<P>输入姓名:
<Input type=text name="name">
<Input type=submit name="g" value="提交">
</Form>
<FORM action="byscore.jsp" Method="post" >
<P>根据分数查询名单:<BR> 英语分数在
<Input type=text name="englishmin" value=0>
和
<Input type=text name="englishmax" value=100>
之间
<BR> 数学分数在
<Input type=text name="mathmin" value=0>
和
<Input type=text name="mathmax" value=100>
之间
<BR> <Input type=submit value="提交">
</Form>
</BODY>
</HTML>byname.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% //获取提交的姓名:
String name=request.getParameter("name");
if(name==null)
{
name="";
}
byte b[]=name.getBytes("ISO-8859-1");
name=new String(b);
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try {
con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=con.createStatement();
String condition="SELECT * FROM students WHERE 姓名 = "+"'"+name+"'";
rs=sql.executeQuery(condition);
out.print("<Table Border>");
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("<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.getInt("数学成绩")+"</TD>");
out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{ }
%>
</BODY>
</HTML>byscore.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
<% //获取提交的分数的最大值和最小值:
String englishmax=request.getParameter("englishmax");
if(englishmax==null)
{
englishmax="100";
}
String englishmin=request.getParameter("englishmin");
if(englishmin==null)
{
englishmin="0";
}
String mathmax=request.getParameter("mathmax");
if(mathmax==null)
{
mathmax="100";
}
String mathmin=request.getParameter("mathmin");
if(mathmin==null)
{
mathmin="0";
}
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try
{
con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=con.createStatement();
String eCondition="英语成绩 <= "+englishmax+" AND "+"英语成绩 >= "+englishmin;
String mCondition="数学成绩 <= "+mathmax+" AND "+"数学成绩 >= "+mathmin;
String condition="SELECT * FROM students WHERE "+mCondition+" and "+eCondition;
rs=sql.executeQuery(condition);
out.print("<Table Border>");
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("<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.getInt("数学成绩")+"</TD>");
out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{}
%>
</BODY>
</HTML>
就是桥连需不需要jdbc驱动啊?