小弟是十足菜鸟,问题简单抽象如下:
做一个有汉字和对应比划数的数据库,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但通过表单提交“我“字,就什么都不显示了。
做一个有汉字和对应比划数的数据库,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当然没有结果了,你没有把变量text的值赋到查询语句里。
再提醒一下注意单双引号哦!
少写了个加号,不好意思!
还请再帮想想