jsp控制数据库语言流程请教·······
小弟我是一名学习中的菜鸟····请教如何在jsp把数据输入到mysql中,小弟我已经做好一个,但是不知道错在什么地方,总是不能把在页面中得到参数,输入到SQL中,请高手们,给一个简单例子来,学习一下·····主要流程是简单页面得到数据,然后传到JAVAbeans中,操作数据库语句,输入到Mysql中。例外附小弟做的有问题的实验品[attach]1805[/attach]····请高手指教····· 拜托下次要附上数据库弄数据库弄了好久
index2.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:useBean id="aa" scope="page" class="conn.dosql"></jsp:useBean>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index2.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form name="form1" method="post" action="index2.jsp">
<table width="525">
<tr>
<td width="161">学生学号</td>
<td width="185">
<label>
<input type="text" name="textfield">
</label>
</td>
<td width="163">格式:0854200123</td>
</tr>
<tr>
<td>密码</td>
<td><label>
<input type="text" name="textfield2">
</label></td>
<td> </td>
</tr>
<tr>
<td>确认密码</td>
<td><label>
<input type="text" name="textfield3">
</label></td>
<td> </td>
</tr>
<tr>
<td>姓名</td>
<td><label>
<input type="text" name="textfield4">
</label></td>
<td> </td>
</tr>
<tr>
<td>专业</td>
<td><label>
<select name="select">
<option>电子商务</option>
<option>管理</option>
</select>
</label></td>
<td> </td>
</tr>
<tr>
<td>班级</td>
<td><label>
<input type="text" name="textfield5">
</label></td>
<td> </td>
</tr>
<tr>
<td>性别</td>
<td><label>
<input type="radio" name="sex" value="男">
男
<input type="radio" name="sex" value="女">
女</label></td>
<td> </td>
</tr>
<tr>
<td>email</td>
<td><label>
<input type="text" name="textfield6">
</label></td>
<td> </td>
</tr>
<tr>
<td>联系电话</td>
<td><label>
<input type="text" name="textfield7">
</label></td>
<td> </td>
</tr>
<tr>
<td>qq</td>
<td><label>
<input type="text" name="textfield8">
</label></td>
<td> </td>
</tr>
<tr>
<td>专业学习成绩</td>
<td><label>
<textarea name="textarea"></textarea>
</label></td>
<td> </td>
</tr>
<tr>
<td>获奖情况</td>
<td><label>
<textarea name="textarea2"></textarea>
</label></td>
<td> </td>
</tr>
<tr>
<td>社会实践情况</td>
<td><label>
<textarea name="textarea3"></textarea>
</label></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><label>
<input type="submit" name="Submit" value="提交">
</label>
<label>
<input type="submit" name="Submit2" value="重置">
</label></td>
</tr>
</table>
</form>
<br>
<%
String a="";
a=request.getParameter("textfield");
String b="";
b=request.getParameter("textfield2");
String c="";
c=request.getParameter("textfield3");
String d="";
d=request.getParameter("textfield4");
String e="";
e=request.getParameter("select");
String f="";
f=request.getParameter("textfield5");
String g="";
g=request.getParameter("sex");
String h="";
h=request.getParameter("textfield6");
String i="";
i=request.getParameter("textfield7");
String j="";
j=request.getParameter("textfield8");
String k="";
k=request.getParameter("textarea");
String l="";
l=request.getParameter("textarea2");
String m="";
m=request.getParameter("textarea3");
String dd=(String)session.getAttribute("dd");
int s=aa.doinsert(a,b,c,d,e,f,g,h,i,j,k,l,m);
%>
</body>
</html> 第一个问题 这个表单要提交到一个具体页面 在提交到的页面执行JSP代码 比如 action="index2.jsp" 这句就是提交到当前页面 之后你才能用request获取提交的值 然后执行插入数据库的JAVA代码
第二个问题 你的abcdefghigklm一般先定义为空值然后在接收的时候负值getparameter() dosql.java代码:
package conn;
import conn.connDB;
public class dosql {
public int doinsert(String a,String b,String c,String d,String e,String f,String g,String h,String i,String j,String k,String l,String m){
String aa=a;
String bb=b;
String cc=c;
String dd=d;
String ee=e;
String ff=f;
String gg=g;
String hh=h;
String ii=i;
String jj=j;
String kk=k;
String ll=l;
String mm=m;
int z=0;
String sql="insert into zhuce(a,b,c,d,e,f,g,h,i,j,k,l,m)"+"values ('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ee+"','"+ff+"','"+gg+"','"+hh+"','"+ii+"','"+jj+"','"+kk+"','"+ll+"','"+mm+"') ";
connDB aaa=new connDB();
z=aaa.executeUpdate(sql);
System.out.print(sql);
return z;
}
} 第三个问题 你的aa bb cc .....定义为int类型是毫无意义的 做类型转换是没用的 因为你最后的String sql 是String类型 加号运算符运算后还是会边成字符串类型
第四个问题 字段名最好不要用中文 我这里假定你用的是test数据库的zhuce表 表的字段名为a b c d e ....... 还有对应的问题
如果字段a是int型
你在提交的表单里放入的值是“aa”之类的字母 那数据是无法插入数据库的 哦··原来如此···Huajb72.cn谢谢·····十分感谢···· 还是不行啊··我都已经改成像你这样的···数据库里还是什么数据都没···``Huajb49.cn 我从新发过一个改正后里面有sql数据库文件了···[attach]1806[/attach] 另外加多一个我的数据库软件的图[img]file:///C:/Users/ADMINI~1/AppData/Local/Temp/Q_~50@0PQ@39($$ZAK8_$E5.jpg[/img] 我看过你新发的 ex7.rar了 没有问题可以使用[attach]1807[/attach]
只是有乱码问题 解决办法是加上<% request.setCharacterEncoding("gb2312");%> [b]回复 [url=http://www.huaclub.cn/redirect.php?goto=findpost&pid=21064&ptid=4622]10#[/url] [i]小木[/i] [/b]
还是不行啊····Huajb75.cn 忘了问一句你设计数据库的时候
数据库用的是UTF_8的字符集编码吗 [b]回复 [url=http://www.huaclub.cn/redirect.php?goto=findpost&pid=21139&ptid=4622]12#[/url] [i]小木[/i] [/b]
没事了····谢谢···我改过来了··· [b]回复 [url=http://www.huaclub.cn/redirect.php?goto=findpost&pid=21139&ptid=4622]12#[/url] [i]小木[/i] [/b]
我发了一个新帖···希望你能再帮助我一下解决那个问题
页:
[1]