CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

急!在线等待!!请教:在jsp中,向数据库中插入数据,插入的值由参数传入,如何写?如下是我写的代码和错误提示:

楼主xiaosl()2003-09-02 12:53:13 在 Java / Web 开发 提问

//声明变量  
  String   Name=request.getParameter("username");    
  String   Address=request.getParameter("useradd");    
  String   Phone=request.getParameter("usertel");  
  .....  
   
    //插入数据  
  Statement   stmt1=conn.createStatement();  
  stmt1.executeUpdate("INSERT   INTO   sample(name,address,phone)   VALUES(Name,Address,Phone)");  
  ........  
   
  错误提示:  
  java.sql.SQLException:   ORA-00984:   列在此处不允许(在这里此列就是stmt1.executeUpdate(....)列)  
   
  如果在VALUES('name','address',134524)中如此写就可以过了。怎么回事?  
   
  问题点数:50、回复次数:5Top

1 楼littlecpu(CSDN ,随时随地,想上就上,爱上不上)回复于 2003-09-02 12:58:38 得分 15

呵呵,老大,我服了你,  
  stmt1.executeUpdate(  
                        new   StringBuffer(128)  
                                .append("INSERT   INTO   sample(name,address,phone)   VALUES('")  
                                .append(name)  
                                .append("','")  
                                .append(address)  
                                .append("','")  
                                .append(phone)  
                                .append("')").toString());  
   
  Top

2 楼drhhdq()回复于 2003-09-02 13:04:57 得分 0

Statement   stmt1=conn.createStatement();  
  String   sql="INSERT   INTO   sample   (name,address,phone)   VALUES("+Name+","+Address+","+Phone+")"  
  stmt1.executeUpdate(sql);Top

3 楼drhhdq()回复于 2003-09-02 13:06:30 得分 15

Statement   stmt1=conn.createStatement();  
  String   sql="INSERT   INTO   sample   (name,address,phone)   VALUES('"+Name+"','"+Address+"','"+Phone+"')"  
  stmt1.executeUpdate(sql);  
  呵呵,刚才忘记加单引号了Top

4 楼dby_(小兵)回复于 2003-09-02 13:25:00 得分 20

楼上的写法是对的,但是这样写有一个问题,比如用户的名字输入了一个‘   单引号,你的sql语句就会出错,  
  最好用,preparedStatement类  
                String   sql   =   ="INSERT   INTO   sample   (name,address,phone)   VALUES(?,?,?)";  
                preparedStatement   pstmt   =   conn.prepareStatement(sql);  
                pstmt.setString(1,Name);  
                pstmt.setString(2,Address);  
                pstmt.setString(3,Phone);  
                pstmt.executeUpdate();  
  Top

5 楼xiaosl()回复于 2003-09-02 13:46:55 得分 0

多谢各位高手!Top

相关问题

  • 给jsp页面传入参数,其中含有引号,该怎么处理??
  • 关于jsp从javaBean获取参数后,如何更好地把参数传入Sevlet?
  • 如何在javascript中传入参数
  • MDI程序中传入参数问题
  • 新手求助 如何传入参数
  • DW有带参数的DDDW里。哪何为DDDW传入参数?
  • iframe如何传入参数和读取参数?
  • 关于参数化插入的问题
  • 插入树节点,参数插入的问题
  • function函数如何传入一个参数,并返回这个参数。

关键词

  • sql
  • 插入
  • stmt1
  • executeupdate
  • phone
  • pstmt
  • setstring
  • address
  • createstatement
  • append

得分解答快速导航

  • 帖主:xiaosl
  • littlecpu
  • drhhdq
  • dby_

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo