java源代码混淆:jsp预编译这个例题。。怎么也做不出来。。
来源:百度文库 编辑:高校问答 时间:2024/04/26 17:37:59
预编译不成功...
odbc已经建立pufan,并指向phonebook.
<%@page import="java.sql.*"%>
<%@page contentType="text/html;charset=GB2312"%>
<%
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:pufan";
String updata = "UPDATE phonebook"
+"set phone=?,addr=?"
+"where name=1";
try
{
Class.forName(driver);
}
catch(Exception e)
{
e.printStackTrace();
out.println("<br>"+"can't loading driver! ");
}
try
{
Connection con = DriverManager.getConnection(url);
PreparedStatement psmt = con.prepareStatement(updata);
psmt.setString('1',"wanglan");
psmt.setString('2',"wangyu");
psmt.setString('3',"wangfang");
psmt.executeUpdate(updata);
psmt.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
out.println("<br>"+updata);
}
%>
这个是更新数据.where就是判断的条件吧?
"where name=1";
我在表里面写成,我想让他...判断到name为1就更新一条记录...
phone addr name
1
1
1
麻烦各位高人不忙时候解答下,感激不仅.
ps:..基础sql在软件里会用,但在jsp里面就晕菜了...这个该如何是好...
odbc已经建立pufan,并指向phonebook.
<%@page import="java.sql.*"%>
<%@page contentType="text/html;charset=GB2312"%>
<%
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:pufan";
String updata = "UPDATE phonebook"
+"set phone=?,addr=?"
+"where name=1";
try
{
Class.forName(driver);
}
catch(Exception e)
{
e.printStackTrace();
out.println("<br>"+"can't loading driver! ");
}
try
{
Connection con = DriverManager.getConnection(url);
PreparedStatement psmt = con.prepareStatement(updata);
psmt.setString('1',"wanglan");
psmt.setString('2',"wangyu");
psmt.setString('3',"wangfang");
psmt.executeUpdate(updata);
psmt.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
out.println("<br>"+updata);
}
%>
这个是更新数据.where就是判断的条件吧?
"where name=1";
我在表里面写成,我想让他...判断到name为1就更新一条记录...
phone addr name
1
1
1
麻烦各位高人不忙时候解答下,感激不仅.
ps:..基础sql在软件里会用,但在jsp里面就晕菜了...这个该如何是好...
第一个:
PreparedStatement psmt的用法有错误
setString的参数是setString(int ,String),而不是setString(String, String)
把
psmt.setString('1',"wanglan");
psmt.setString('2',"wangyu");
psmt.setString('3',"wangfang");
改成
psmt.setString(1,"wanglan");
psmt.setString(2,"wangyu");
psmt.setString(3,"wangfang");
第二个:
在String updata 中只有两个“?”,后面怎么设置了三个参数?这样在运行时还是会出错
第三个:
你数据库里面name字段的数据类型是什么?如果是varchar,where name=1应该写成where name='1'
虽然有些数据库可以兼容这种写法,不过还是规范一点好