你可以去ibm的开发网站和sun下载你所说的jdbc完整教程

解决方案 »

  1.   

    建议先用英文(无论数据库还是jsp代码中),英文测试通过后再考虑中文.
      

  2.   

    另外,可以检查检查Tomcat的窗口中有什么错误输出没有.
      

  3.   

    单独用Tomcat编写jsp文件没有一点问题。
    我早就去ibm开发网站看过了,可是比如说具体到很多细节,我就不知道了,它一般都是说怎样编写而已。
    能帮我具体说说吗?————----
    我是楼主!
      

  4.   

    教你点解决的方法,首先你应该判断问题出在什么地方到底是jdbc写错了还是你的jsp有问题。所以,你应该独立出来,分开调试。比如,你想调试jsp的话,可以直接造一些数据,假装去数据库拿,然后看显示出来没有或者你可以调试jdbc,单独写一个独立的java程序,打印结果试试,看你的resultset拿到结果集没有。就你上面的程序而言,好像没什么大错,我看就下面一些小问题1 rs.getString(password)这句的password应该有引号2 如果取到role值后,可以break出来,没必要再跑完resultset3 resultset和connect你就不考虑关闭吗,就是调用close。
      

  5.   

    你用的是JDBC-ODBC桥,建议还是使用厂商特制的JDBC驱动
    调试的时候你逐个测试con,stmt是否为空先
    找出问题所在
      

  6.   

    <% String url="jdbc:odbc:user";
       String driver="sun.jdbc.odbc.JdbcOdbcDriver"; Connection con=DriverManager.getConnection(url,"xl","1234");
    你用JDBC-ODBC就不需在什么驱动了,只要你机子上有一个DNS数据源就行了,而且那个DNS数据源的用户名和密码是"xl","1234"这两个吗?建数据源DNS在控制面板,管理工具里面。
      

  7.   

    不知道你的ODBC数据源配好了没有
      

  8.   

    呵呵,看来我基础真的是太差了,刚才去配了一下DSN数据源,原来我只知道一些SQL语句,具体很多东西没做过,所以现在对于为什么要用驱动程序,为什么要配置数据源等等连贯不起来,因为不知道原理,我想如果让各位兄弟给我讲可能太麻烦了,有什么好的文章可以推荐的吗?我我一下子了解其原因,为什么要这么做。谢谢了。
    ——————————————————
    我是楼主!!
      

  9.   

    Tomcat的数据源没配啊,
    先配Tomcat的数据源吧,这文章挺多的
      

  10.   

    在JSP页面里最好不要用ODBC来连接!
      

  11.   

    谢谢大家了,我已经配置好ODBC数据源了,name为aaaa,然后,数据库采用的是Windows认证方式,用户名:xl,密码为空格。现在修改程序如下,仍出现错误,数据库§好像§已经连接上了,可能是程序出了问题,请大家指点,谢谢谢谢,
    <% String url="jdbc:odbc:aaaa";
       String driver="sun.jdbc.odbc.JdbcOdbcDriver"; 
       Class.forName(driver);
       Connection con=DriverManager.getConnection(url,"xl"," ");
       Statement sqlStatement=con.createStatement();
       String sql="select* from confirm";
       ResultSet rs=sqlStatement.executeQuery(sql);
       String username=request.getParameter("username");
       String password=request.getParameter("password");
       String role="游客";
       while(rs.next())
       {
         if(username.equals(rs.getString("username"))&&password.equals(rs.getString("password")))
         {
           role=rs.getString("role");
         }
       }
       sqlStatement.close();
    %>等待帮助,
    等待揭帖。
    谢谢大家的帮助!!!再次感谢。!我是楼主!
      

  12.   

    把你的代码加上try---catch--,看是什么错误。

    try 
    {
      //你的代码
    }
    catch(Exception e)
    {
      System.out.println(e);
    }
      

  13.   

    也没仔细看你的代码,不过这一句应该是不对的:
    String sql="select* from confirm";
    可以改为
    String sql="select * from confirm";
      

  14.   

    怎么连接数据库操作也不加异常处理,这能通得过吗?或者直接打在页面上也行啊out.println(e);
      

  15.   

    <td>用户名</td>
    <td><input type=text name=usename></td>
    </tr>
    <tr>
    <td>密码</td>
    <td><input type=passowrd name=password</td>
    </tr>
    </table>
    <input type=submit name=submit value=提交>
    <input type=reset name=reset value=重置>
    </form>
    </body>
    上段里面的改成 type = ""  name = "  "  value = "  "都加上""号看看好像是这个问题另外你没有加代码指出提交以后有什么反应当然就没有反应了,得加一个提交成功的提示信息
      

  16.   

    现在提示是: No suitable driver(没有合适的驱动)
    这是为什么?
    ——————————————
    谢谢大家,我是楼主!
      

  17.   

    那是说你的驱动包没有找到,你把那三个文件放到TOMCAT的common\lib下面。然后重启TOMCAT
      

  18.   

    靠,楼主好像是用的JDBC-ODBC驱动
    这个也能找不到
    应该不是那三个文件的问题,它的链接方式不是JDBC for sqlserver
      

  19.   

    给你贴一下我用的数据库链接代码:
    两种方式都可以,换调注释的两行就是JDBC for sqlserver
    默认的是你用的方式package com.sunnitech.bean;import java.sql.Connection;
    import java.sql.DriverManager;
    public class DBConnection {
        public static Connection getDBConnection() {
            Connection conn = null;        //String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
            //String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=PicViewDB";
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            String url = "jdbc:odbc:PicDB";
            String user = "sa";
            String pwd = ""; //密码为空        try {
                Class.forName(driver).newInstance();
                conn = DriverManager.getConnection(url, user, pwd);
            } catch(Exception e) {
                System.out.println("DBConnect error: " + e.toString());            return null;
            }        return conn;
        }
    }
      

  20.   

    楼主有没有建那个数据源DNS呀?
      

  21.   

    那个数据源我建了,叫aaaa.也就是DNS。
    我现在已经能显示了,不过始终是显示"游客两字",
    我用户名输入xl,密码为1234,但是不能够显示出”高级会员“这四个字!
    奇怪!
      

  22.   

    先配置数据源。控制面板-管理工具-(ODBC)数据源-选择你的数据库驱动类型-在弹出对话框中填数据源名称-然后按“选择”-选择建立的数据库-确定-OK
      

  23.   

    那个数据源我建了,叫aaaa.也就是DNS。
    我现在已经能显示了,不过始终是显示"游客两字",
    我用户名输入xl,密码为1234,但是不能够显示出”高级会员“这四个字!
    奇怪!——————————————————————————我是楼主!!!!
      

  24.   

    <% String url="jdbc:odbc:aaaa";
       String driver="sun.jdbc.odbc.JdbcOdbcDriver"; 
       Class.forName(driver);
       
       String username=request.getParameter("username");
       String password=request.getParameter("password");
       String role="游客";
       String sql="select* from confirm where username=? and password=?";
       Connection con=DriverManager.getConnection(url,"xl"," ");
       PreparedStatement pre=con.prepareStatement(sql);
       pre.setString(1,username);
       pre.setString(2,password);
       ResultSet rs=pre.executeQuery();
       rs.next();
       role=rs.getString("role");
       sqlStatement.close();
    %>
    我把你的JSP代码改了,你自己看看吧!
      

  25.   

    你那种情况可能是你连接SQL语句的时候出了问题。
      

  26.   

    楼主,我们下班了,自己慢慢看,不要急!
    Happy new Year!
      

  27.   

    我觉得楼主没有选好书,其实只要你先好一本书就不会出现这样的问题,因为书上都会写得很清楚的。
    JDBC只是起一个桥梁的作用。
    它可以把JAVA和SQL连接起来。并且我个人认为JDBC是很好学的,因为它是有步骤可搬的。
    找一本好书,自己再练习一下,我想就可以解决了。
    并且JDBC在J2EE中还是占很重要的作用的。
      

  28.   

    Class.forName(driver);改为Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con=DriverManager.getConnection(url,"xl","1234");中的"XL","1234"是你的数据库名称和密码,表示表中的!
      

  29.   

    恩,你的连接方法是Jdbc通过Odbc桥连。所以首先你要确实你的数据源是否正确。看tomcat返回的错误信息,如果没有连接好数据库tomcat都会返回相应信息的。
        另外建议你把连接数据库的代码都写在JavaBeans里面,这样方便管理和调用,也实现了代码复用。
        另外给你一段JavaBeans连接数据库的示例代码,以后照这个步骤写就ok了:
    ========================================================================================
    package DbCon;
    import java.sql.*;
    public class DbCon
    {
         String ConDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
         String ConName = "jdbc:odbc:myConnection";    //jdbc:odbc:后面连上你的数据源名称
         Connection con = null;
         ResultSet rs = null;
         boolean state = true;
         public DbCon()
         {
              try
              {
                     Class.forName(ConDriver);       
              }
              catch(Exception e)
              {
                   System.out.println("exception: "+e.getMessage());
              }
         }          public ResultSet getQuery(String sql)
             {
                 try
          {
                     con=DriverManager.getConnection(ConName,"injection","yl83115$");   //ConName后面的两个是你的数据库连接的用户名和密码
         Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
         rs = stmt.executeQuery(sql);
          }
          catch(Exception e)
          {
             System.out.println("exception: "+e.getMessage());
          }
          return rs;
             }
         
         public boolean setUpdate(String sql)
         {
              try
              {
             con=DriverManager.getConnection(ConName,"sa","yl83115$");
                                     Statement stmt=con.createStatement();
             stmt.execute(sql);
             stmt.close();
                }
              catch(Exception e)
              {
                  state = false;
                  e.printStackTrace();
              }
              return state;
         
         }
            
    }