读书人

jsp连接ms sql server 数据库 不显示表

发布时间: 2011-12-31 23:50:30 作者: rapoo

jsp连接ms sql server 数据库 不显示表单提交的字符查询结果
小弟是十足菜鸟,问题简单抽象如下:
做一个有汉字和对应比划数的数据库,ms sql server的。用jsp连接成功,可顺利查询。但当让他接收表单提交的字符,以
在数据库中返回比划数时,网页上什么都不显示 。

有否热心的兄弟,高手指点一下。

代码:
<%@page contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>
<HTML>
<BODY><FONT size=4>




<p>您输入的汉字:
<%
request.setCharacterEncoding("gb2312"); //为了避免乱码作的处理
String text =request.getParameter("word"); // word 是另一网页提交的字符变量

%>



//以下是数据库驱动:
<%

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=name";

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);


String sql="SELECT * FROM name.[dbo].[TABLE1] WHERE 汉字 = 'text' ";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next())

{


%>

<%=rs.getString("汉字")%>
<%=rs.getString("对应比划数")%>





<%

}




rs.close();

stmt.close();

conn.close();

%>



</FONT>
</BODY>
</HTML>


我奇怪的是:如果我写成“ String sql="SELECT * FROM name.[dbo].[TABLE1] WHERE 汉字 = '我' ";
就会正确的输出:
汉字: 我
笔划数: 7

但通过表单提交“我“字,就什么都不显示了。




[解决办法]
String sql="SELECT * FROM name.[dbo].[TABLE1] WHERE 汉字 = ' "+text+" ' ";
少写了个加号,不好意思!
[解决办法]
的确楼上正解啊,你那样写相当于在数据库中查找汉字值为“text”的了,当然没结果咯,祝你好运

读书人网 >Java Web开发

热点推荐