Board logo

标题: [提问] jsp控制数据库语言流程请教······· [打印本页]

作者: Lancelot    时间: 2010-6-25 15:27     标题: jsp控制数据库语言流程请教·······

小弟我是一名学习中的菜鸟····请教如何在jsp把数据输入到mysql中,小弟我已经做好一个,但是不知道错在什么地方,总是不能把在页面中得到参数,输入到SQL中,请高手们,给一个简单例子来,学习一下·····主要流程是简单页面得到数据,然后传到JAVAbeans中,操作数据库语句,输入到Mysql中。例外附小弟做的有问题的实验品 ex7.rar (669.08 KB) ····请高手指教·····

附件: ex7.rar (2010-6-25 15:24, 669.08 KB) / 下载次数 7
http://archive.huaclub.com/attachment.php?aid=1805&k=3aabedfda0eb150438defc9e74bbe450&t=1734800791&sid=5EZXfN
作者: 小木    时间: 2010-6-25 20:13

拜托下次要附上数据库
弄数据库弄了好久
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>&nbsp;</td>
    </tr>
    <tr>
      <td>确认密码</td>
      <td><label>
        <input type="text" name="textfield3">
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>姓名</td>
      <td><label>
        <input type="text" name="textfield4">
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>专业</td>
      <td><label>
        <select name="select">
          <option>电子商务</option>
          <option>管理</option>
        </select>
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>班级</td>
      <td><label>
        <input type="text" name="textfield5">
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>性别</td>
      <td><label>
        <input type="radio" name="sex" value="男">
      男
      <input type="radio" name="sex" value="女">
      女</label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>email</td>
      <td><label>
        <input type="text" name="textfield6">
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>联系电话</td>
      <td><label>
        <input type="text" name="textfield7">
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>qq</td>
      <td><label>
        <input type="text" name="textfield8">
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>专业学习成绩</td>
      <td><label>
        <textarea name="textarea"></textarea>
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>获奖情况</td>
      <td><label>
        <textarea name="textarea2"></textarea>
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>社会实践情况</td>
      <td><label>
        <textarea name="textarea3"></textarea>
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</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>
作者: 小木    时间: 2010-6-25 20:19

第一个问题 这个表单要提交到一个具体页面 在提交到的页面执行JSP代码 比如 action="index2.jsp" 这句就是提交到当前页面 之后你才能用request获取提交的值 然后执行插入数据库的JAVA代码
第二个问题 你的abcdefghigklm一般先定义为空值然后在接收的时候负值getparameter()
作者: 小木    时间: 2010-6-25 20:20

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;  
            
                 }
}
作者: 小木    时间: 2010-6-25 20:26

第三个问题 你的aa bb cc .....定义为int类型是毫无意义的 做类型转换是没用的 因为你最后的String sql 是String类型 加号运算符运算后还是会边成字符串类型
第四个问题 字段名最好不要用中文 我这里假定你用的是test数据库的zhuce表 表的字段名为a b c d e .......
作者: 小木    时间: 2010-6-25 20:32

还有对应的问题
如果字段a是int型
你在提交的表单里放入的值是“aa”之类的字母 那数据是无法插入数据库的
作者: Lancelot    时间: 2010-6-27 15:58

哦··原来如此···谢谢·····十分感谢····
作者: Lancelot    时间: 2010-6-27 16:55

还是不行啊··我都已经改成像你这样的···数据库里还是什么数据都没···``
作者: Lancelot    时间: 2010-6-27 17:03

我从新发过一个改正后里面有sql数据库文件了··· ex7.rar (669 KB)     另外加多一个我的数据库软件的图

附件: ex7.rar (2010-6-27 16:57, 669 KB) / 下载次数 1
http://archive.huaclub.com/attachment.php?aid=1806&k=80ee7cdb71a95eead5183c5af7ffc862&t=1734800791&sid=5EZXfN
作者: 小木    时间: 2010-6-28 11:20

我看过你新发的 ex7.rar了 没有问题可以使用 QQ截图未命名.jpg
只是有乱码问题 解决办法是加上<%  request.setCharacterEncoding("gb2312");%>

图片附件: QQ截图未命名.jpg (2010-6-28 11:06, 23.29 KB) / 下载次数 1887
http://archive.huaclub.com/attachment.php?aid=1807&k=84aa1fa32d4f1dddd04d054d8419ebbd&t=1734800791&sid=5EZXfN


作者: Lancelot    时间: 2010-7-5 13:23

回复 10# 小木


   还是不行啊····
作者: 小木    时间: 2010-7-6 15:55

忘了问一句你设计数据库的时候
数据库用的是UTF_8的字符集编码吗
作者: Lancelot    时间: 2010-7-9 15:22

回复 12# 小木


    没事了····谢谢···我改过来了···
作者: Lancelot    时间: 2010-7-10 22:18

回复 12# 小木


    我发了一个新帖···希望你能再帮助我一下解决那个问题




欢迎光临 花江边社区—论坛 (http://archive.huaclub.com/) Powered by Discuz! 7.2