jsp向数据库中插入数据的sql命令 20

这是第一个页面<formname="myform"method="post"action="chktodb.jsp">发表次数:<inputtype="text"name... 这是第一个页面
<form name="myform" method="post" action="chktodb.jsp" >
发表次数:<input type="text" name="ID">
主 题:<input type="text" name="title">
简单描述:<input type="text" name="describe">
发帖 人:<input type="text" name="autor">
内 容:<input type="text" name="matter">
<center>
<input type="submit" value="注册">
<input type="reset" value="重置">
</center>
</form>
这是第二个页面
<%
int ID=Integer.parseInt(request.getParameter("ID"));
String title=new String(request.getParameter("title").getBytes("ISO8859_1"),"GBK");
String describe=new String(request.getParameter("describe").getBytes("ISO8859_1"),"GBK");
String autor=new String(request.getParameter("autor").getBytes("ISO8859_1"),"GBK");
String matter=new String(request.getParameter("matter").getBytes("ISO8859_1"),"GBK");
final String CLS="com.mysql.jdbc.Driver";
final String URL="jdbc:mysql://localhost:3306/bbsTest";
final String USER="root";
final String PWD="425680992";

Connection conn = null;
PreparedStatement pStmt = null;
ResultSet rs = null;

try{
Class.forName(CLS);
conn = DriverManager.getConnection(URL, USER, PWD);
String sql = "select * from test where " +
" ID=?";
pStmt = conn.prepareStatement(sql);
pStmt.setInt(1, ID);
rs= pStmt.executeQuery();
if(rs.next()){
err+="<h3>您的发表次数已经存在,请更换次数!</h3>";
valid=false;
}else{
sql="insert into test (ID,title,describe,autor,matter)values("+ID+",'"+title+"','"+describe+"','"+autor+"','"+matter+"')";
pStmt.executeUpdate(sql);

这基本上就是全部的代码了 但是一运行就出现这样的错误:
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near
'describe,autor,matter)values(5,'hj','h','hj','hj')' at line 1
这是怎么回事 我确定我的数据库建立的表正确 里面的数据类型也正确
展开
 我来答
liuyang054
2015-08-25 · TA获得超过9093个赞
知道大有可为答主
回答量:5317
采纳率:78%
帮助的人:5207万
展开全部

以mysql为例子给一个代码示例:如下

public class MemberDAO {
public static final String DBDRIVER = "com.mysql.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
public static final String DBUSER = "root";
public static final String DBPASS = "1234";

private PreparedStatement ps = null;
private Connection conn = null;

public MemberDAO() {
// DatabaseConnection dbc = new DatabaseConnection();
// this.conn = dbc.getConnection(conn);
}

//---------------------------------------插入信息----------------------------------     
public boolean doInsert(Member member) throws Exception {
boolean flag = false;
String sql = "insert into member values(?,?,?,?,?,?,?,?,?)";
Connection conn = null;
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
ps = conn.prepareStatement(sql);
ps.setString(1, member.getUserid());
ps.setString(2, member.getPassword());
ps.setString(3, member.getName());
ps.setString(4, member.getSex());
ps.setString(5, member.getPhone());
ps.setString(6, member.getEmail());
ps.setString(7, member.getInterest1());
ps.setString(8, member.getInterest2());
ps.setString(9, member.getNote());

if (ps.executeUpdate() > 0) {
flag = true;

}
conn.close();
ps.close();
return flag;

}
}
百度网友4b68195
2012-12-23 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1695万
展开全部
sql="insert into test (ID,title,describe,autor,matter) values ("+ID+",'"+title+"','"+describe+"','"+autor+"','"+matter+"')";
追问
我就是这样写的啊    不行
追答
sql="insert into  test  (`ID`,`title`,`describe`,`autor`,`matter`)  values  ("+ID+",'"+title+"','"+describe+"','"+autor+"','"+matter+"')";
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eacsoft
2012-12-27
知道答主
回答量:33
采纳率:0%
帮助的人:9.9万
展开全部
值不对吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d689697
2012-12-24
知道答主
回答量:76
采纳率:0%
帮助的人:22.7万
展开全部
不是数据库的问题,就是语句的问题。建表语句有没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式