jsp表单数据插入数据库的问题(具体见补充)

我在使用jsp表单+javabean实现表数据插入数据库时,不知道如何把表单传到javabean封装起来的数据放进sql语句中,请高手指点啊!我的疑问是下面javabea... 我在使用jsp表单+javabean实现表数据插入数据库时,不知道如何把表单传到javabean封装起来的数据放进sql语句中,请高手指点啊!我的疑问是下面javabean代码中sqlstr="insert into "+tableName+" values('id','name','age')";这句插入数据库的sql语句怎样在values中填写在表单中获得的数据,如果按照下面代码运行的话,插进数据库的数据不是表单中输进的值,而是id,name,age 。。代码是两个jsp页面跟一个javabean,如下。add.jsp:
<body>
<form action="index.jsp ">
学号:<input type="text" name="id"><br>
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age">
<br>
<input type="submit" name="submit" value="提交">
</form>
</body>

index.jsp:
<body>
<jsp:useBean id="student" scope="request" class="ch3.Student">
<jsp:setProperty name="student" property="*"/>
</jsp:useBean>
<%student.insert(); %>
插入成功
</body>

javabean如下,
public class Student {
private String id;
private String name;
private String age;
private String user="root"; //用户名
private String pass="123456"; //口令
private String url="jdbc:mysql://localhost:3306/test1"; //数据源
private String driver="org.gjt.mm.mysql.Driver"; //数据库驱动程序
private String tableName="student"; //数据库中表名
private String sqlstr=null; //sql语句
Connection con=null; //连接对象
Statement stmt=null;

public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}

public void insert(){

/* 数据库连接
装载驱动――获取连接――创建语句对象 */

try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
con=DriverManager.getConnection(url,user,pass);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stmt=con.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sqlstr="insert into "+tableName+" values('id','name','age')";
try {
stmt.executeUpdate(sqlstr);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
展开
 我来答
我们是522
2011-03-18 · 超过11用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:22.8万
展开全部
估计你可能是刚学的jsp。
sqlstr="insert into "+tableName+" values('id','name','age')";
你的这个字符串变成sql语句时为:insert into student values("id","name","age");
很明显你的sql语句执行后肯定是把id,name,age三个字符串插入到了数据库中,因为你根本就没有传入你输入表单中的值。
我建议你在提交表单数据到index.jsp页面后,在index页面中取出你提交的三个值,然后把他们设置在<jsp:setProperty name="student" property="id" value=""/>、<jsp:setProperty name="student" property="name" value=""/>、
<jsp:setProperty name="student" property="age" value=""/>三个jsp标签的对应的value中,这样你在用student调用insert()方法,但是你的insert中要设置参数如insert(Student student),然后再将sqlstr的值改变一下:sqlstr = "insert into "+tablename+" values("+student.getId()+","+student.getName()+","+student.getAge()+")";
我大致看了一下你的代码,改这些东西应该没有问题了。
c4lqb0jng
2011-03-19 · 超过42用户采纳过TA的回答
知道答主
回答量:188
采纳率:0%
帮助的人:134万
展开全部
p页面赋值时,没写
2. 第二数据库表里的主键时自增的吗
3. 第三jsp页面的传值方式采用的是post还是get 因为这个在tomcat的不同版本里是有区别的
4.第四 如果在百度 上不能解决 去Google吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jingguiyin
2011-03-19
知道答主
回答量:3
采纳率:0%
帮助的人:3万
展开全部
sqlstr="insert into "+tableName+" values('id','name','age')";
改为:sqlstr="insert into "+tableName+" values('"+id+"','"+name+"','"+age+"')";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rally163
2011-03-18 · TA获得超过1659个赞
知道小有建树答主
回答量:2278
采纳率:100%
帮助的人:903万
展开全部
JSP有关用表单传递参数,并向数据库中插入数据,代码和有关运行后报的错误jdbc-odbc连接桥的方式没试过,驱动这方面不知道,不过上面有一个地方不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式