以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  求助javabean问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=45809)


--  作者:misdjava
--  发布时间:4/22/2007 8:44:00 AM

--  求助javabean问题
我写了一个javabean数据库驱动与jsp页面连接!!
怎么老是不行,看看高手们这是什么问题?我觉得最大问题是出在modify_confirm.jsp,小弟是初学者.就是搞不明白.怎么也插入数据不成功!!!!但编译不会出错.
提示是:mydb():com.microsoft.jdbc.sqlserver.SQLServerDriver
        aq.executeQuery:No suitable driver

第一个javabean
mydb.java

---------------------------------------------

mydb.java


package com;
import java.sql.*;
import java.io.*;
public class mydb {
 String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
 String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tusy";
 private Connection conn=null;
 private Statement stmt=null;
 ResultSet rs=null;
 public mydb()
       {
         try
         {
          Class.forName(sDBDriver);    
         }
   catch(java.lang.ClassNotFoundException e)
      {
      System.err.println("mydb():"+e.getMessage());
      }
        }
     public ResultSet executeQuery(String sql)
     {
     rs=null;
     try
       {
      conn=DriverManager.getConnection(sConnStr,"sa","sa");
      stmt=conn.createStatement();
      rs=stmt.executeQuery(sql);
      
      }
     catch(SQLException ex )
      {
       System.err.println("aq.executeQuery:"+ex.getMessage());
      }
     return rs;
     
     }
     public void executeUpdate(String sql)
     {
      stmt=null;
      rs=null;
      try
      {
        conn=DriverManager.getConnection(sConnStr,"sa","sa");
        stmt= conn.createStatement();
        stmt.executeQuery(sql);
        stmt.close();
        conn.close();
       
      }
      catch(SQLException ex )
      {
       System.err.println("aq.executeQuery:"+ex.getMessage());
      }
     }
     public void closeStmt()
     {
      try
      {
       stmt.close();
      }
      catch(SQLException e)
      {
      e.printStackTrace();
      
      }
     
     }
     public void closeConn()
     {
      try
      {
       conn.close();
      }
      catch(SQLException e)
      {
       e.printStackTrace();
      }

     }
    /* public static void main(String args[])
     {
      System.out.println("编译成功!!");
     
     }*/
}

--------------------------------------
add.jsp
-------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="modify_confirm.jsp">
  <table width="241" border="0">
    <tr>
      <td width="67">姓名:</td>
      <td colspan="2"><label>
        <input name="name" type="text" id="name" size="20" />
      </label></td>
    </tr>
    <tr>
      <td>性别:</td>
      <td colspan="2"><label>
        <input name="sex" type="text" id="sex" size="20" />
      </label></td>
    </tr>
    <tr>
      <td>备注:</td>
      <td colspan="2"><label>
        <input name="text" type="text" id="text" size="20" />
      </label></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td width="59"><label>
        <input type="submit" name="Submit" value="添加" />
      </label></td>
      <td width="101"><label>
        <input type="reset" name="Submit2" value="重置" />
      </label></td>
    </tr>
  </table>
</form>
</body>
</html>
---------------------------------------------------
modify_confirm.jsp
-------------------------------------------------------

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="ado" scope="request" class="com.mydb" />
<%
   String name =request.getParameter("name");
   String sex=request.getParameter("sex");
   String text=request.getParameter("text");
   String sql=null;
   ado.executeUpdate(sql);
   sql="insert into test values('"+name+"','"+sex+"','"+text+"')";
   %>
</body>
</html>


--  作者:wangxu85910
--  发布时间:5/20/2007 11:12:00 PM

--  
这种写程序的方式你是在哪学的呀,最好不要这么写,业务和数据连接要分开写,还有最好不要用Statement还是PreparedStatement比较好,也尽量不要在jsp页面中写java代码
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate();
你用这条试试
打印异常的时候用e.printStackTrace();
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms