2 qq 37236020 qq_37236020 于 2017.01.03 22:45 提问

用JSP语句实现对数据库的添加信息操作,出现这样的问题怎么解决

图片说明

5个回答

caozhy
caozhy   Ds   Rxr 2017.01.03 22:49

你的sql语句有错误, 你使用了 bno 作为字段名,但是数据库里没有这么一列,或者你表搞错了。

qq_37236020
qq_37236020 你可以帮我看一下代码吗?谢谢您
12 个月之前 回复
caozhy
caozhy 回复qq_37236020: 说的很清楚,插入的数据重复了。
12 个月之前 回复
qq_37236020
qq_37236020 新的问题java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]违反了 PRIMARY KEY 约束 'PK_information_1'。不能在对象 'dbo.information' 中插入重复键。
12 个月之前 回复
qq_37236020
qq_37236020 刚刚通过你的建议改了,又出现了心的问题
12 个月之前 回复
qq_37236020
qq_37236020   2017.01.03 22:59

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>

输入书编号: 输入书名: 输入借书日期(****-**-**): 输入还书日期(****-**-**): 输入姓名: 输入学号:

你添加记录操作的结果:

<% Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ out.print(e);
}
try { con=DriverManager.getConnection("jdbc:odbc:myliujie","","");
String condition="INSERT INTO information( bno,bname,bor,ret,sno,sname)VALUES( '"+bno+"', '"+bname+"','"+bor+"',"+ret+"', '"+sno+"', "+sname+")";
sql=con.createStatement();
rs=sql.executeQuery(condition);
out.print("

");
out.print("");
out.print("
"+"图书编号");
out.print("
"+"书名");
out.print("
"+"借书时间");
out.print("
"+"还书时间");
out.print("
"+"学号");
out.print("
"+"姓名");
     out.print("</tr>");
   while(rs.next())
   {  out.print("<tr>");
         out.print("<td >"+rs.getString(1)+"</td>"); 
         out.print("<td >"+rs.getString(2)+"</td>");
         out.print("<td >"+rs.getString(3)+"</td>"); 
         out.print("<td >"+rs.getString(4)+"</td>");
         out.print("<td >"+rs.getString(5)+"</td>"); 
         out.print("<td >"+rs.getString(6)+"</td>");


      out.print("</tr>") ; 
    }
    out.print("</table>");
    con.close();
 }

catch(SQLException e)
{ out.print(e);
}
%>

qq_37236020
qq_37236020   2017.01.03 23:04

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>

输入书编号: 输入书名: 输入借书日期(****-**-**): 输入还书日期(****-**-**): 输入姓名: 输入学号:

你添加记录操作的结果:

<% Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ out.print(e);
}
try { con=DriverManager.getConnection("jdbc:odbc:myliujie","","");
String condition="INSERT INTO information( bno,bname,bor,ret,sno,sname)VALUES( '"+bno+"', '"+bname+"','"+bor+"',"+ret+"', '"+sno+"', "+sname+")";
sql=con.createStatement();
rs=sql.executeQuery(condition);
out.print("

");
out.print("");
out.print("
"+"图书编号");
out.print("
"+"书名");
out.print("
"+"借书时间");
out.print("
"+"还书时间");
out.print("
"+"学号");
out.print("
"+"姓名");
     out.print("</tr>");
   while(rs.next())
   {  out.print("<tr>");
         out.print("<td >"+rs.getString(1)+"</td>"); 
         out.print("<td >"+rs.getString(2)+"</td>");
         out.print("<td >"+rs.getString(3)+"</td>"); 
         out.print("<td >"+rs.getString(4)+"</td>");
         out.print("<td >"+rs.getString(5)+"</td>"); 
         out.print("<td >"+rs.getString(6)+"</td>");


      out.print("</tr>") ; 
    }
    out.print("</table>");
    con.close();
 }

catch(SQLException e)
{ out.print(e);
}
%>

qq_32127035
qq_32127035   2017.01.04 09:27

sql异常很简单明了啊,列名无效,有两种情况
1 数据库不存在这个字段
2 你连接的sql语句有问题

yearHeaven
yearHeaven   2017.01.04 09:55

sql语句异常了,sql中列字段名称和数据库定义的列字段名称不一样,改成一样就好了,提示的错误挺明显的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!