尽量不要拼凑Sql语句,用参数来防注入
如果是类似"select * from user where uid="+uid +" and pwd="+pwd 很容易出问题
使用 SQLParamenter
把你的SQL语句写成 类似存储过程
select * from user where uid=@uid and pwd=@pwd
使用这个SQL语句定义为 SQLCommand 对象 然后使用 Paramenter 对象把 @*** 替换为 值
就可以搞定注入式漏洞了
相关文档:
SQL截取字符串
SUBSTRING
返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效Microsoft SQL Server 数据类型的更多信息,请参见数据类型。
语法
SUBSTRING ( expression & ......
sql DATEPART函数使用(摘抄)
sql DATEPART函数使用
DATEPART
返回代表指定日期的指定日期部分的整数。
语法
DATEPART ( datepart ,date )
参数
datepart
是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分缩写
year
yy, yyyy
quarter
qq, q
mont ......
首先我建好了一张用户表表中有俩个字段 一个是账号,一个是密码当然这里我写的知识简单的登录很注册,
表明 users 用户表
字段 accountnum varchar(50) --表示账号
password varchar(50) --表示密码
登录存储过程
create proc use_l ......
对日常工作中用到的感觉有用的sql语句做个归纳,用于今后温故知新。
*复制表:
create table tablename as select * from table_src;
create table tablename as select * from table_src where 1 <> 1; --只复制表结构 ......
下面的这些脚本都可以找到引起磁盘排序的SQL。
SELECT /*+ rule */ DISTINCT a.SID, a.process, a.serial#,
TO_CHAR (a.logon_time, 'YYYYMMDD HH24:MI:SS') LOGON, a.osuser,TABLESPACE, b.sql_text
from v$session a, v$sql b, v$sort_usage c
WHERE a.sql_address = b.address AND a.saddr = c.session_addr;
......