日期:2014-05-20  浏览次数:20899 次

在线等 遇到很纠结的问题!!
我主要要实现的功能是 前一个页面xiangmu1用户输入的用户名和密码,在xiangmu2中连接数据库 看是否登录成功。。。


我在tomcat下已经装好sqlserver的JDBC驱动 保证没有错!然后在JCreator下编写的代码如下:package com.xu;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class xiangmu2 extends HttpServlet{

  public void doGet(HttpServletRequest req,HttpServletResponse res){
  try{  
  PrintWriter pw=res.getWriter();
  //获得前面的一个页面用户输入的用户名和密码
  String u=req.getParameter("username");  
  String p=req.getParameter("passwrd");  
  pw.println(u); //已经测试前面的用户名和密码都可以成功拿到
  pw.println(p); 
   
//连接数据库
//驱动
  Class.forName("com.mircosoft.sqlserver.jdbc.SQLServerDriver");
  //得到连接
Connection ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433,databaseName=LiangShanHero","xu","123");

  //创建Statement
 Statement sm=ct.createStatement();
  
 ResultSet rs=sm.executeQuery("select top 1 * from my where myId='"+u+"'and myPass='"+p+"'");//这条语句是从数据库中查找是否有用户名、密码和前一个页面输的相等的数据




代码很奇怪 到啦红色那条语句就补执行啦(红色语句没有执行 用pw.println(p); 语句去测试过),大神们告诉我哪里错啦啊???

------解决方案--------------------
我用的Class.forName怎么好像和lz不一样,是不是搞错掉了?
------解决方案--------------------
有数据库驱动包吗?
------解决方案--------------------
有没有报错啊?,这写法木有错误啊,如果说没有驱动包也会报错啊java.lang.ClassNotFoundException
------解决方案--------------------
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
感觉还是你驱动加载有问题或者与数据库不对应。上面的这句是sql server 2000的!
sql server 2005的要写成:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");


------解决方案--------------------
1. pw.println(u); //用System.out.println()
pw.println(p); //用System.out.println()


2.
Connection ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433,databaseName=LiangShanHero","xu","123");

==>

Connection ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=LiangShanHero","xu","123");