insert12.java
-----------------------
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> <p>请输入插入Ms SQL Server2000数据库的数据:</p>
<form name="form1" method="post" action="insert1.jsp">
<p>ID:
  <input type="text" name="id">
</p>
<p>title:
  <input type="text" name="title">
</p>
<p>price:
  <input type="text" name="price">
</p>
<p>
  <input type="submit" name="Submit" value="提交">
</p>
</form>
-------------------------------------
insert1
--------------------------------------
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> 
<%@ page import="DBcon.dbconn"%>
<jsp:useBean id="DBcon"scope="page"class="DBcon.dbconn"/>
<% request.setCharacterEncoding("GBK"); %> <% Connection conn = null; 
conn = DBcon.getConn() ;   String id=request.getParameter("id");
  String title=request.getParameter("title");
  String price=request.getParameter("price");Statement stmt = conn.createStatement(); 
stmt.executeUpdate("INSERT INTO book(id,title,price) VALUES 
(''"+id+"'',''"+title+"'',''"+price+"'')"); 
int rsint=0;if(rsint>0){
        out.println("插入成功!");
}else{
out.println("插入失败!");
}conn.close();
%> 
<jsp:forward page="insert12.jsp" /> 
-----------------------------------------------
数据库连接Bean已测试过没问题

解决方案 »

  1.   

    int rsint=0;if(rsint>0){
            out.println("插入成功!");
    }else{
    out.println("插入失败!");
    }
    写错了吧
    每次都会打“插入失败!”
      

  2.   

    Statement stmt = conn.createStatement(); 
    stmt.executeUpdate("INSERT INTO book(id,title,price) VALUES 
    (''"+id+"'',''"+title+"'',''"+price+"'')"); 
    int rsint=0;if(rsint>0){
            out.println("插入成功!");
    }else{
    out.println("插入失败!");
    }
    这段代码不好~~~~~~~~~~~~
    不如这样
    String sql = "insert into book(id,title,price) values(?,?,?)";
    prepareStatement preStat = con.prepareStatement(sql);
    preStat.setString(1,id);
    preStat.setString(2,title);
    preStat.setString(3,price);
      

  3.   

    下面还有
    int count = preStat.execurtUpdate();
    if(count == 1) out.println("insert OK");
    else out.println("insert ERROR");
      

  4.   

    int rsint=0; 当然每次 都 out.println("插入失败!");
      

  5.   

    nobel1984() asdf_jkl() 说的对
    int rsint=0; 当然每次 都 out.println("插入失败!");应该
    int count = preStat.execurtUpdate();
    if(count == 1) out.println("insert OK");
    else out.println("insert ERROR");
      

  6.   

    dbconn.java
    -------------------------
    package DBcon;import java.sql.*; //完成环境设置,导入java.sql包 public class dbconn { 
    public dbconn() { 
    try{
    Class.forName(drivername); //载入驱动器 
    }catch(java.lang.ClassNotFoundException e){
    System.err.println(e.getMessage());
    }

    //declare variable 
    Connection conn = null; 
    ResultSet rs = null; 
    String user = "jieking";
    String pass = "830924k19"; //change to your password 
    String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String URL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=publish"; public Connection getConn(){ //get database connection 
    try{ 
    conn = DriverManager.getConnection(URL,user,pass); //连接到数据库 
    } catch(Exception e){ 
    e.printStackTrace(); 

    return conn ; 
    } public ResultSet executeQuery(String sql) { 
    try{ 
    Statement stmt = conn.createStatement(); //语句接口 
    rs = stmt.executeQuery(sql); //获得结果集
     
    } catch(Exception e){ 
    e.printStackTrace(); 

    return rs;
    } public int executeUpdate(String sql){
    int result=0;
    try{
    Statement stmt = conn.createStatement(); //语句接口 
    result = stmt.executeUpdate(sql); //获得结果集
     
    }catch(Exception e){ 
    e.printStackTrace(); 

    return result;

    }
    -----------------------------
    这个是我的数据库连接的bean,这句prepareStatement preStat = con.prepareStatement(sql);里面的prepareStatement是不是要在连接的Bean里面定义一下
    另外:
    int rsint=0;if(rsint>0){
            out.println("插入成功!");
    }else{
    out.println("插入失败!");
    }
    这段确实写错了,不要应该可以吧
      

  7.   

    stmt.executeUpdate("INSERT INTO book(id,title,price) VALUES 
    (''"+id+"'',''"+title+"'',''"+price+"'')"); //可能有问题String sql="(INSERT INTO book(id,title,price) VALUES 
    (\'"+id+"\',\'"+title+"\',\'"+price+"\')";
    stmt.executeUpdate(sql); 
      

  8.   

    倒,程序还是发贴时那两个,可是现在在insert12输入数据,再按提交以后转不到insert1了一直就在打开中,就是打不开啊.
    哪位遇到过类似情况?
      

  9.   

    各位大哥前面的问题解决了,可是又来了新的问题,insert12.java没变但是修改insert1后可以将数据插入数据库了,但是当我要求如果页面什么也不输入就按提交的话就提示“请输入数据”,但是无效阿,那位指点一下
    insert1.java
    ---------------------------------------------------------------------------
    <%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%> 
    <%@ page import="DBcon.dbconn"%>
    <jsp:useBean id="DBcon"scope="page"class="DBcon.dbconn"/>
    <% request.setCharacterEncoding("GBK"); %> 
    <%   Connection conn = null;
      conn = DBcon.getConn(); 
      String id=request.getParameter("id");
      String title=request.getParameter("title");
      String price=request.getParameter("price");
      if(id=="null"||title=="null"||price=="null")
      {
       out.println("请输入数据");
      }
      else
      {
    int rsint=0;
    Statement stmt = conn.createStatement();
    rsint=stmt.executeUpdate("INSERT INTO book (id,title,price) VALUES ('"+id+"','"+title+"','"+price+"')"); 
    conn.close();
    if(rsint>0)
    {
            out.println("插入成功!");
    }
    else
    {
    out.println("插入失败!");
    }
    }%> 
      

  10.   

    if(id=="null"||title=="null"||price=="null")
      {
       out.println("请输入数据");
      }这个时候不要判断因为 id等现在可能==""而不是NULL判断要在输入页提交的时候用JS判断