苹果电脑装双系统,西游杀单机版,同居大明星
//用户登录的时候,假设有下面的语句 select * from student where username='' and password='' //写为字符串为 string sql = "select * from student where username='"+username+"' and password='+password+"'" //用户如果输入' or 1=1 -- //对应的sql语句 select * from student where username='' or 1 =1 -- and password='' //上面这句sql等同于下面 select * from student
statement执行过长语句,拼接字符串很繁琐,容易出错
preparestatement ps = conn.preparestatement("select * from student where num = ? and name = ?")
占位符的索引从1开始,使用setxxx方法,数据要跟列的数据对应
void setxxx((int parameterindex, xxx value); xxx表示相应的数据类型。
设置点位符位置的值,第一个参数是 1,第二个参数是 2,…..
ps.setint(1,12); ps.setstring(2,"张三");
- `boolean execute()` 在此 preparedstatement 对象中执行 sql 语句,该语句可以是任何种类的 sql 语句。 - `resultset executequery()` 在此 preparedstatement 对象中执行 sql 查询,并返回该查询生成的 resultset 对象。 - `int executeupdate()` 在此 `preparedstatement` 对象中执行 sql 语句,该语句必须是一个 sql 数据操作语言(data manipulation language,dml)语句 比如 `insert`、`update` 或 `delete` 语句; 或者是无返回内容的 sql 语句,比如 `ddl` 语句。 返回一个已修改数据库中的数据数目数 ``` ps.executequery(); ```
statement | preparedstatement | |
创建语句对象的方法 | connection.createstatement( ) | connection.preparedstatement( sql ) |
查询 | executequery( sql ) 要提供sql语句 | executequery( ) 不提供提供sql语句,但随后要设置占位符的值 |
插入、更新、删除 | executeupdate( sql ) 要提供sql语句 | executeupdate( ) 不提供提供sql语句 |
执行语句 | execute() | execute() |
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Oracle字符串函数length、upper、lower、initcap、 concat、instr、replace
网友评论