我想做一个简单的页面,就是 1输入框一个查询按钮!点击 查询后能 对SQL自带的 pubs 中的titles 表做查询,结果以表格形式出现。
我数据库已经连接成功了。。SQL也和简单,就是 怎么把输入框的值作为SQL 的参数查询,不知道怎么写?大家帮帮我看看了:<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
请输入type的值:  
<input type=text name=text1 value="tr" width=10><br>
<input type=submit name=submit value="查询">
<table borderColor="#888888" borderColorDark="#ffffff" cellSpacing="0"  cellPadding="2"  border="1">
<tr>
   <td><b>type</td>
   <td><b>pub_id</td>
   <td><b>price</td>
</tr>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 
String user="jy"; 
String password="jy";
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select type,pub_id,price from titles where type like '%"不知道怎么写"%'"; 
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<tr>
   <td><%=rs.getString(1)%></td>
   <td><%=rs.getString(2)%></td>
   <td><%=rs.getString(3)%></td>
</tr>
<%}%> 
<%out.print("titles表的查询数据如下:");%>
<%rs.close();
stmt.close();
conn.close();
%> 
</table>
</body>
</html>

解决方案 »

  1.   

    String type = request.getParameter("text1");
    // 这是你的文本框的name<input type=text name=text1>
    String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
      

  2.   

    Statement stmt=conn.createStatement
    还可以用PrepareStatement对象,对于连续插入数据效率高些,而且方便插入参数
      

  3.   

    可通过js
    <script language="javascript">
       function a(){
    if(document.text1.value.length == 0){
       alert("请输入数据!!")
    }
    }
    </script><input type=submit name=submit value="查询" onclick="a()">
      

  4.   

    我的意思是如果为空,则提醒,不为空的话 就直接把 参数 传到 SQL 中执行!
    <script language="javascript">
       function a(){
    if(document.text1.value.length == 0){
       alert("请输入数据!!")else
    "不知道怎么写?"
    }
    </script><input type=submit name=submit value="查询" onclick="a()">
      

  5.   

    String type = request.getParameter("text1");
    String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) 
        //..........
    就把前面的做相应的修改就可以了
      

  6.   

    JAVA SCRIPT 里面可以嵌入 JSP代码吗???
      

  7.   

    我的意思是如果为空,则提醒,不为空的话 就直接把 参数 传到 SQL 中执行!
    <script language="javascript">
       function a(){
    if(document.text1.value.length == 0){
       alert("请输入数据!!")else
    "不知道怎么写?"
    }
    </script><input type=submit name=submit value="查询" onclick="a()">
    “else
    "不知道怎么写?"”
    这里什么都不用写就行了~
    删了它!就是你要的“如果为空,则提醒,不为空的话 就直接把 参数 传到 SQL 中执行!”
      

  8.   

    用button,不要用submit:<input type="button" name=submit value="查询" onclick="a()">
    <script language="javascript">
       function a(){
    if(document.text1.value.length == 0){
       alert("请输入数据!!")
    }
    else{
        document.forms[0].submit();
    }
    </script>
      

  9.   

    document.forms[0].submit();是怎么意思呢?是不是会去调用SQL语句啊?
      

  10.   

    这是最终的代码:(目的是想实现:点击 查询后 如果输入框为空则什么都不做,并提醒用户。如果输入框有值的话,就将输入框的参数传到SQL对 pubs 中的titles 表做查询,结果以表格形式出现。)可是运行了后,2个目的都没有达到!!!
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <html>
    <body>
    请输入type的值:  
    <input type=text name=text1 ><br/>
    <input type=button name=submit value="查询" onclick="a()">
    <table borderColor="#888888" borderColorDark="#ffffff" cellSpacing="0"  cellPadding="2"  border="1">
    <tr>
       <td><b>type</td>
       <td><b>pub_id</td>
       <td><b>price</td>
    </tr>
    <script language="javascript">
       function a(){
    if(document.text1.value.length == 0){
       alert("请输入数据!!")
    }
    else{
        document.forms[0].submit()
    }
    }
    </script>
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 
    String user="jy"; 
    String password="jy";
    String type = request.getParameter("text1");
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql="select type,pub_id,price from titles where type like '%"+type+"%'";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {%>
    <tr>
       <td><%=rs.getString(1)%></td>
       <td><%=rs.getString(2)%></td>
       <td><%=rs.getString(3)%></td>
    </tr>
    <%}%> 
    <%out.print("titles表的查询数据如下:");%>
    <%rs.close();
    stmt.close();
    conn.close();
    %> 
    </table>
    </body>
    </html>