回 帖 发 新 帖 刷新版面

主题:java中的sql问题

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.*;


public class XnkMain extends HttpServlet 
{
    public XnkMain()
    {
        super();
    }
    public void destroy()
    {
        super.destroy();
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
    {    
        this.doGet(request,response);
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=gsmvmc";
        String bb="No...";
        ResultSet rs;
        String b="123";
        try
        {
           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
           Connection con=DriverManager.getConnection(url,"sa","");
           Statement stmt=con.createStatement();
           rs=stmt.executeQuery("select b from zhouling where a='1'");
           b=rs.getString(b);
           bb="Yes...";
           stmt.close();
           con.close();
        }
        catch(java.lang.Exception ex)
        {
           ex.printStackTrace();
        }
        
        String userId=request.getParameter("x1");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>数据库连接</TITLE></HEAD>");
        out.println("  <BODY>");
        out.println(userId+"    ");
        out.println(bb+"   ");
        out.println(b);
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush(); 
        out.close();
    }
    public void init() throws ServletException 
    {
    }

}
请问一下...我这段代码为什么不能执行sql语句...我搞了一天了还是不知道错在那..[em18]

回复列表 (共3个回复)

沙发

你想看到执行后的效果必须把rs中的内容提取出来  不然就算执行后也没什么变化

最简单的方法看sql语句执行没有,是运行update语句. 然后去检查你的数据库就可以了

板凳

try
        {
           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
           Connection con=DriverManager.getConnection(url,"sa","");
           Statement stmt=con.createStatement();
           rs=stmt.executeQuery("select b from zhouling where a='1'");
           b=rs.getString(b);
//开始光标是在第一个数据的前面,所以要得到第一组数据,必须rs.next().getString(b);

           bb="Yes...";
           stmt.close();
           con.close();
        }

3 楼

String userId=request.getParameter("x1");这句中的x1哪里来的?貌似应该有个jsp文件!!!

看来你在做你的第一个servlet训练,呵呵!如果是这样,请接着看:
你用到了doGet()方法,那么在jsp中的form中,method应该选get哦!
另外,init()方法中应该在web.xml中配置你这个servlet
至于输出的显示,可参照楼上的叙述!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册