下面介绍如何用sql server实现一个动态faq(常见问题及答案)网站。
首先建立一个数据库faq,其中的表faqs有字段id(int,自动增量,并设为主关键字)、subject(varchar,200)、answers(text)。这个表中可以存放一些编程知识的常见问题及答案。然后,在control panel(控制面板)的odbc datasource模块中加入system dsn,取名faq,并指向faq数据库。创建一个javabean,名为faq.java,并保存在c:\jbuilder4\tomcat\webapps\test目录下。
faq.java 的内容如下:
package test;
import java.sql.*;
public class faq {
string sdbdriver = sun.jdbc.odbc.jdbcodbcdriver;
string sconnstr = jdbc:odbc:faq;
connection conn = null;
resultset rs = null;
public faq() {
try {
class.forname(sdbdriver);
}
catch(java.lang.classnotfoundexception e) {
system.err.println(faq(): + e.getmessage());
}
}
public resultset executequery(string sql) {
rs = null;
try {
conn = drivermanager.getconnection(sconnstr);
statement stmt = conn.createstatement();
rs = stmt.executequery(sql);
}
catch(sqlexception ex) {
system.err.println(aq.executequery: + ex.getmessage());
}
return rs;
}
}
用上一节介绍的方法编译faq.java以后,在jc:\jbuilder4\tomcat\webapps\test目录下创建jsp文件faq.jsp,其内容如下:
我的faq !
这是我的faq!
resultset rs = workm.executequery(select * from faqs);
string tt;
while (rs.next()) {
tt = rs.getstring(answer);
out.print( + rs.getstring(subject) + );
out.print( + tt +
);
}
rs.close();
%>
在浏览器的地址栏中键入http://localhost:8080/test/faq.jsp,faq.jsp调用javabean,从数据库中读出内容并输出,得到结果如图5所示.