JSP+JavaBean连接数据库时无法读取表中内容
来源:互联网 发布:js数组find方法举例 编辑:程序博客网 时间:2024/04/30 18:46
我的问题是由一个小小的空格引起的。
在用JavaBean连接数据库时,遇到了一个问题,运行的时候只jsp页面只能显示出表头,无法读取数据库中表格数据。我对着教材检查了无数遍,硬是没发现哪里不对,今天终于发现问题所在了。
我的JavaBean:/*QueryBean.java*/
package tom.jiafei;
import java.sql.*;
public class QueryBean {
String databaseName="";
String tableName="";
String user="";
String secret="";
StringBuffer queryResult;
public QueryBean(){
queryResult=new StringBuffer();
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(Exception e){}
}
public String getDatabaseName() {
return databaseName;
}
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName.trim();
queryResult=new StringBuffer();
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName.trim();
queryResult=new StringBuffer();
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user.trim();
queryResult=new StringBuffer();
}
public String getSecret() {
return secret;
}
public void setSecret(String secret) {
this.secret = secret.trim();
queryResult=new StringBuffer();
}
public StringBuffer getQueryResult() {
Connection con;
Statement sql;
ResultSet rs;
try {
queryResult.append("<table border=1>");
String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName="+databaseName;
String id=user;
String password=secret;
con=DriverManager.getConnection(uri,id,password);
DatabaseMetaData metadata=con.getMetaData();
ResultSet rs1=metadata.getColumns(null, null, tableName, null);//将表的字段信息存储在一个ResultSet对象中;
int z=0;
queryResult.append("<tr>");
while(rs1.next()){
z++;
String clumnName=rs1.getString(4);
queryResult.append("<td>"+clumnName+"</td>");
}
queryResult.append("</tr>");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM"+tableName);//问题就出在这里,注意FROM后面一定要留个空格,不然SQL语句就成了:SELECT * FROMtableName 从而无法运行
while(rs.next()){
queryResult.append("<tr>");
for(int k=1;k<=z;k++){
queryResult.append("<td>"+rs.getString(k)+"</td>");
}
queryResult.append("</tr>");
}
queryResult.append("</table>");
con.close();
}
catch(SQLException e){
queryResult.append("请输入正确的用户名和密码");
}
return queryResult;
}
}
我的jsp页面:/*inquire.jsp*/
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="tom.jiafei.QueryBean" %>
<jsp:useBean id="base" class="tom.jiafei.QueryBean" scope="session"/>
<jsp:setProperty name="base" property="*"/>
<html>
<body bgcolor=sdcv>
<FORM action="" method="post">
输入数据库名:<input type=text name="databaseName" size=8>
输入表的名字:<input type=text name="tableName" size=8>
<br>输入用户名:<input type=text name="user" size=6>
输入密码:<input type="password" name="secret" size=6>
<br><input type="submit" name="g" value="提交">
</FORM>
在<jsp:getProperty name="base" property="tableName"/>表中查询到记录:
<br><jsp:getProperty name="base" property="queryResult"/>
</body>
</html>
修改之前的运行结果如图:
- JSP+JavaBean连接数据库时无法读取表中内容
- JSP中无法连接数据库
- Servlet+jsp+javabean+连接数据库
- jsp+javabean 连接 mysql 数据库
- Servlet+jsp+javabean+连接数据库
- 在JavaBean中连接数据库
- 用jsp调用javaBean连接数据库
- JSP通过JavaBean连接SQL Server数据库
- JSP通过JavaBean连接Sql Server数据库
- jsp中连接mysql的javabean
- jsp中连接mysql的javabean
- asp中无法显示已经连接数据库的内容
- struts2中从数据库中读取数据,并在JSP页面中遍历保存有JavaBean对象的List对象
- jsp直接读取mysql数据库内容
- Jsp连接JavaBean
- MVC jsp+servlet+javabean 连接Mysql数据库测试demo
- JSP中连接Oracle数据库
- jsp中连接MySQL数据库
- GCD学习 Main Dispatch Queue/Global Dispatch Queue
- 单链表 错误找不出来
- svn for mac 无法记住密码
- centos6安装中文输入法
- compare方法
- JSP+JavaBean连接数据库时无法读取表中内容
- windows下搭建node.js及npm的工作环境
- n个元素进栈,出栈顺序问题
- SDUT 2482 二叉排序树
- php升级到5.3 localhost 不能链接mysql
- 计算机网络和因特网
- Hadoop数据传输工具sqoop(一)简介
- 同一服务器上不同的request请求为什么能取得相同的Session对象
- WM_QUERYENDSESSION消息