jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=loginsqlserver的和orcale的很不一样啊

解决方案 »

  1.   

    输出查询sql语句是什么...另外数据库中有没有相应的记录..
      

  2.   

    你把catch的内容换成如下,看看是不是数据库出错?catch(SQLException ex)
    {
    ex.printStackTrace(System.err);
    }
      

  3.   

    我觉得你应该看看你的页面的name属性和你的l1bean里的属性是否能够匹配上
      

  4.   

    你把查询语句sql打印到控制台:<select * from login where name='"+id+"'and pass='"+pwd+"'";>
    然后把输出结果贴出来看看。另外,这个表的名字是“login”吗?
      

  5.   

    TO:www_sql(工业区)  我测试过,在查询的BEAN里可以读到传过来的值.
    to:EchoEverything(小E) 这个打印到控制台是什么意思.
    表名和数据库名都是login,这个不要紧吧.
      

  6.   

    我把几个东西都贴上来吧,有点长,各位幸苦了,谢谢.
    登陆页面:<html>
    <head><title>登陆</title></head>
    <body>
    <table align="center" bgcolor="aabbcc">
    <form action="l1.jsp" method="post" name="form1">
    <tr><td>姓名:</td><td><input type="text" name="name"></td></tr>
    <tr><td>密码:</td><td><input type="password" name="pass"></td></tr>
    <tr>
    <td></td>
    <td>
    <input type="button" value="提交" OnClick="submit();"><input type="reset" value="重置">
    <a href="lo1.htm"><font color="red">注册</font>
    </td>
    </tr>
    </form>
    </table>
    </body>
    </html>
    JSP页面:<%@page contentType="text/html;charset=gb2312" language="java" import="com.*"%>
    <jsp:useBean id="lb1" class="com.l1bean" scope="page">
    <jsp:setProperty name="lb1" property="*"/>
    </jsp:useBean>
    <jsp:useBean id="ls1" class="com.l1sql" scope="page"/>
    <%
    ls1.setLb(lb1);
    if(ls1.selectdb())
    {
    response.sendRedirect("suss.jsp");
    }
    else
    {
    response.sendRedirect("l1.htm");
    }
    %>
    读取提交用户名和密码的BEAN:package com;public class l1bean 
    {
    private String name;
    private String pass; public void setName(String name)
    {
    this.name = name;
    }
    public void setPass(String pass)
    {
    this.pass = pass;
    }
    public String getName()
    {
    return name;
    }
    public String getPass()
    {
    return pass;
    }
    }
    查询的BEAN:package com;
    import java.sql.*;public class l1sql
    {
    private l1bean lb;
    private Connection conn; public String changstr(String temp)
    {
    try
    {
    String str = temp;
    byte[] str_1 = str.getBytes("ISO8859-1");
    String str_2 = new String(str_1);
    return str_2;
    }
    catch(Exception ee)
    {
    return temp;
    } }
    public void setLb(l1bean lb)
    {
    this.lb = lb;
    }
    public l1sql()
    {
    String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String servanddb = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=login";
    String user = "sa";
    String pwd = "pwd";
    try
    {
    Class.forName(classforname);
    conn = DriverManager.getConnection(servanddb,user,pwd);
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    public boolean selectdb()
    {
    try
    {
    String id = lb.getName();
    String pwd = lb.getPass();
    String sql = "select * from member where name='"+id+"' and pass='"+pwd+"'";
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery(sql);
    if(rs.next())
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    catch(Exception ex)
    {
    return false;
    }
    }
    }
      

  7.   

    在<%ls1.setLb(lb1);%>后面的
    放上<%=lb1.getName()%>
    <%=lb1.getPass()%>
    <%=ls1.selectdb()%>看看结果
      

  8.   

    回:www_sql(工业区) 用 ggg:123456登陆
    JSP页面打印出: ggg 123456 false 我把catch里改成return true,提交后会跳转到suss.jsp页面,这说明数据库查询这块有问题吧.
      

  9.   

    数据库的表这如下创建的:creat table member(name varchar(10),pass varchar(20),sex varchar(4),email varchar(30))
      

  10.   

    在catch里让他报异常,看看是什么异常
      

  11.   

    http://www.netyi.net/in.asp?id=lockllb 去这里看看,应该会对你有帮助!
      

  12.   

    to:www_sql(工业区) catch(SQLException ex)
    {
    ex.printStackTrace(System.err);
    }
      

  13.   

    to:www_sql(工业区) catch(SQLException ex)
    {
    ex.printStackTrace(System.err);
    }
    没有报错????????
      

  14.   

    就是把:try
    {
    String id = lb.getName();
    String pwd = lb.getPass();
    String sql = "select * from member where name='"+id+"' and pass='"+pwd+"'";
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery(sql);
    if(rs.next())
    {
    return true;
    }
    else
    {
    return false;
    }
    }改为:
    try
    {
    String id = lb.getName();
    String pwd = lb.getPass();
    String sql = "select * from member where name='"+id+"' and pass='"+pwd+"'";
                               System.out.println(sql);//将sql字段输出到控制台
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery(sql);
    if(rs.next())
    {
    return true;
    }
    else
    {
    return false;
    }
    }最后,你到Tomcat下看看打印出来是什么,并把它贴出来看看
      

  15.   

    打印出来是下面这些:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
    hing socket.
            at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
    )
            at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
            at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
            at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)        at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
    rce)
            at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
    ource)
            at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
            at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
            at java.sql.DriverManager.getConnection(DriverManager.java:512)
            at java.sql.DriverManager.getConnection(DriverManager.java:171)
            at com.l1sql.<init>(l1sql.java:37)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
    orAccessorImpl.java:39)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
    onstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
            at java.lang.Class.newInstance0(Class.java:308)
            at java.lang.Class.newInstance(Class.java:261)
            at java.beans.Beans.instantiate(Beans.java:204)
            at java.beans.Beans.instantiate(Beans.java:48)
            at org.apache.jsp.l1_jsp._jspService(l1_jsp.java:66)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:210)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:247)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:193)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:256)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
    t.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:191)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
    t.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
    2422)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:180)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
    t.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
    rValve.java:171)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
    t.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:163)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
    t.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:174)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
    t.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:19
    9)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
    :833)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
    ssConnection(Http11Protocol.java:711)
            at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
    :584)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:687)
            at java.lang.Thread.run(Thread.java:534)
      

  16.   

    把你查询的sql语句输出来,是不是中间没有空格什么的,SQL语句错了
      

  17.   

    晕倒,全部重新写了一遍尽然OK了!!!!实在是幸苦各位了.
    不知道是不是EDITPLUS的问题,用它写XML时常莫明其妙的出错.
    TO:EchoEverything(小E) 现在这个问题解决了,是不是该讲讲安全方面的问题了,十分期盼,呵呵!!!
      

  18.   

    TO:EchoEverything(小E) 现在这个问题解决了,是不是该讲讲安全方面的问题了,十分期盼,
      

  19.   

    TO:EchoEverything(小E) 现在这个问题解决了,是不是该讲讲安全方面的问题了,十分期盼