急!在线等待!!请教:在jsp中,向数据库中插入数据,插入的值由参数传入,如何写?如下是我写的代码和错误提示:
//声明变量
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




