我主要要实现的功能是 前一个页面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");