面试题1:表table1只有1列IDinsert into Table1 select 1union select 2unionselect 3unionselect 4unionselect 5unionselect 6需要转换为123456789快速写出有几种写法,我第一感觉是列转换行,仔细一想又更简单的方法:
SQL code
DECLARE@STRVARCHAR(2000) select@STR=ISNULL(@STR+'','')+convert(varchar(10),ID) from (select ID from table1)AS T select@STR
面试题2:说出下面sql关键字具体用法,举例说明。 over pivot with Merge output 这里我只给关键字Merge用法,它在SQL Server 2008被引入http://www.cnblogs.com/lenxu/archive/2012/02/14/2350922.html面试题3是关于C#和sql的:C#中注入攻击,拼接字符串为什么可以注入攻击?而输入sql关键字可以注入工具,普通A,B字段不行,举例说明?SqlParameter和拼接sql语句,哪种更安全,不都是最终给存储过程执行了,说出他们的原理所在
4 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
第三个问题 例如 用户输入的 "1 ' or 1=1 --"
你的语句这样的 sql="delete from table where id='"+id+" ' ";把用户输入的数据填到里面
结果是sql="delete from table where id='1 ' or 1=1 -- ' ";
这导致的结果就是 你的表里所有数据都删掉了 求改也一样 查询就都会查出来 你可以试试 这就是注入攻击
- 4 回答
- 0 关注
- 465 浏览
添加回答
举报
0/150
提交
取消