关于插入字符串问题(jsp)

guoliang_709 2007-09-29 05:09:24
获取输入的内容,点击提交插入记录进入数据库中,我把insert语句中的字符串改成常量就可以插入(如注释),但是获得输入的信息并插入就无法实现,不报错,但数据库里面没有输入的信息,请问是不是我前面几行的语句有问题?还望指教!
String s1=request.getParameter("sim_NUM");
String s2=request.getParameter("type");
String s4=request.getParameter("balance");
String s5=request.getParameter("locus");

//String strIns="insert into sim_table(sim_NUM) values ('11111')";
String strIns="insert into sim_table(sim_NUM,type,balance,locus) values (‘"+s1+"’,‘"+s2+"’,‘"+s4+"’,‘"+s5+"’)";

Connection con;
ResultSet rs;
Statement sql;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
}
try
{
con=DriverManager.getConnection("jdbc:odbc:sim","","");//连接数据库
sql=con.createStatement();
sql.executeUpdate(strIns);
}
catch(SQLException e)
{
}
...全文
136 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
犇犇犇程序猿 2007-09-30
  • 打赏
  • 举报
回复
7楼的专业啊! lz 要是 request.getParameter(xx);为null怎么办呢!而且你 con.close() 方法还没执行吧! 虽然不是太大关系,但是还是要做的!
a68020405ybcoomy 2007-09-29
  • 打赏
  • 举报
回复
7楼的很好啊
a68020405ybcoomy 2007-09-29
  • 打赏
  • 举报
回复
PreparedStatenment不好么?为什么要用Statemnet
  • 打赏
  • 举报
回复
Statement、Connection 没有关?

建议使用 PreparedStatement,这样至少不会被单双引号搞到头晕~~~~
SilenceSoul 2007-09-29
  • 打赏
  • 举报
回复
接5楼说的 DEBUG一下 在就是你的单引号 和双引号是在拼音模式下输入的么??
Kashrp 2007-09-29
  • 打赏
  • 举报
回复
o(∩_∩)o...哈哈
syhan 2007-09-29
  • 打赏
  • 举报
回复
你居然把异常吞了,快点e.printStackTrace()出来
shadao 2007-09-29
  • 打赏
  • 举报
回复
别使用这样的格式

String strIns="insert into sim_table(sim_NUM,type,balance,locus) values (?,?,?,?)";
PreparedStatement sql = con.prepareStatement(strIns);
if(s1==null)
sql.setNull(1, Types.CHAR);
else
sql.setString(1, s1);
if(s2==null)
sql.setNull(2, Types.CHAR);
else sql.setString(2, s2);
if(s3==null)
sql.setNull(3, Types.CHAR);
else sql.setString(3, s3);
if(s4==null)
sql.setNull(4, Types.CHAR);
else sql.setString(4, s4);
sql.execute();
Kashrp 2007-09-29
  • 打赏
  • 举报
回复
不报错比较难搞
应该不是权限问题
但是看你代码看不出什么毛病
刚学JAVA 太菜 帮不了你
cl55 2007-09-29
  • 打赏
  • 举报
回复
"不报错" 权限的问题的话应譔报错的呀。

你DEBUG MODE运行一个,看看运行到 String strIns="insert into sim_table(sim_NUM,type,balance,locus) values (‘"+s1+"’,‘"+s2+"’,‘"+s4+"’,‘"+s5+"’)"; 句时s1,s2,s3,s4的值。
wshsm 2007-09-29
  • 打赏
  • 举报
回复
String s1=request.getParameter("sim_NUM");
String s2=request.getParameter("type");
String s4=request.getParameter("balance");
String s5=request.getParameter("locus");

应该是这些字符串没取到或者格式不对,打印出来看看
guoliang_709 2007-09-29
  • 打赏
  • 举报
回复
可是我把s1、s2这些字符串改成常量以后就可以插入数据库了,如果是权限问题会出现这种情况吗?
pc144818 2007-09-29
  • 打赏
  • 举报
回复
写的没有问题啊,建议考虑下数据库权限~
guoliang_709 2007-09-29
  • 打赏
  • 举报
回复
论坛难道升级过了人气都下降了?

81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧