各位学长,我有件事想请教一下,再相数据库插入数据的时候,那种方法最好呢,为什么,大家看看我用的方法怎么样

onizuka5211 2003-08-23 01:21:31
各位学长,小弟刚学jsp,再相数据库插入数据的时候,那种方法最好呢,为什么,大家看看我用的方法怎么样。
1。标准sql语句:
sql="insert into table(name,psw) values('"+name+"','"+psw+"')";
stmt.executeUpdate(sql);

2.用结果集
strSql="select * from message where id="+id" ";
rs=stmt.executeQuery(strSql);
if (rs.next())
{
rs.updateString("name",name.trim());
rs.updateString("psw",psw.trim());
rs.updateRow();
}

3.使用预编译
strSql="insert into message(name,psw) values(?,?)";
PreparedStatement st=conn.prepareStatement(strSql);
st.setString(1,name.trim());
st.setString(2,psw.trim());
st.executeUpdate();
st.clearParameters();
不知道那种方法更好一点,用标准sql语句的话,可能会遇到特殊字符的问题,如'
使用结果集的话,如果用jdbc-odbc桥接器可能会有问题,不知道用那种方法更好一点
...全文
36 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
onizuka5211 2003-08-24
  • 打赏
  • 举报
回复
还有没有其他的方法呀
aku0708 2003-08-24
  • 打赏
  • 举报
回复
三种都不错,第一种还是比较好一些
onizuka5211 2003-08-23
  • 打赏
  • 举报
回复
我听说第一种(标准sql语句)很不安全呀,好像对方可以输入sql语句!!时这样吗?请指教!
LingFengNB 2003-08-23
  • 打赏
  • 举报
回复
应该是第三种最好
第三种方法执行的是预编译SQL语句,参数可以动态的指定,这种方法可以指定IN,OUT参数,也就是传进和传回参数,当你执行的操作需要返回值时间,这种方法就可以用,前两种就不行了
不过如果你仅仅是简单的SQL操作,前两种也是不错的选择,简单。
如果你要追求效率和安全性,你要调用存储过程。callablestatement中有一系列方法来调用存储过程,并且能传进和传回参数
seaman0916 2003-08-23
  • 打赏
  • 举报
回复
我经常用的是第一种!
wssg 2003-08-23
  • 打赏
  • 举报
回复
第2种工作方式:
读--改--写

第1,3种工作方式:
改--写(其中第三种的执行效率最高)

点到为止,哪个是最好,看你的需要。



hubingufo 2003-08-23
  • 打赏
  • 举报
回复
还是第一种好,
jkit 2003-08-23
  • 打赏
  • 举报
回复
推荐第三种
d992901 2003-08-23
  • 打赏
  • 举报
回复
我就只用过标准sql插入,感觉用这个的还是最多的吧,
可以就不同的问题使用不同的方法啊,不涉及字符串的,标准sql很好,有特殊字符,你觉得sql不爽的话,可以用结果集,其实就是有特殊字符,标准sql还是一样搞定的,呵呵

81,095

社区成员

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

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