这里使用的是参数化

  1. SqlParameter useremail = new SqlParameter("@useremail", user.user_Email);
  2. SqlParameter pwd = new SqlParameter("@pwd", user.user_pwd);
  3. SqlParameter type = new SqlParameter("@type", user.user_Type);
  4. SqlParameter phone = new SqlParameter("@phone", user.user_phone);
  5. SqlParameter username = new SqlParameter("@username", user.user_phone);
  6. SqlCommand cmd = new SqlCommand(sql, conn);
  7. conn.Open();
  8. cmd.Parameters.Add(useremail);
  9. cmd.Parameters.Add(pwd);
  10. cmd.Parameters.Add(type);
  11. cmd.Parameters.Add(phone);
  12. cmd.Parameters.Add(username);
  13. int count = cmd.ExecuteNonQuery();
  14. conn.Close();
  15. return count;
  16.  
  17. 添加使用这段代码
  1. SqlParameter pages = new SqlParameter("@pages",page);
  2. SqlParameter rowss = new SqlParameter("@rows",rows);
  3. SqlDataAdapter dat = new SqlDataAdapter(sql, conn);
  4. conn.Open();
  5. dat.SelectCommand.Parameters.Add(pages);
  6. dat.SelectCommand.Parameters.Add(rowss);
  7. DataSet ds = new DataSet();
  8. dat.Fill(ds);
  9. conn.Close();
  10. return ds;
  11.  
  12. 查询使用这段代码
  1. string conText = "server=.;uid=sa;pwd=123456;database=ars";
  2. using (SqlConnection con = new SqlConnection(conText))
  3. {
  4. using (SqlCommand cmd = con.CreateCommand())
  5. {
  6. con.Open();
  7. cmd.CommandText= "select sName from student where sId = @sid and sMajor = @sMajor and sPassword = @sPassword";
  8. //构造参数数组parameters
  9. SqlParameter[] parameters = {new SqlParameter("@sid",),
  10. new SqlParameter("@smajor",),
  11. new SqlParameter("@spassword",) };
  12. cmd.Parameters.AddRange(parameters);
  13. cmd.ExecuteNonQuery();
  14. }
  15. }
  16.  
  17. 添加也可以使用这个
  1. 继续对比
  2.  
  3. SqlParameter
  4. sp = new SqlParameter("@name","Pudding");
  5. cmd.Parameters.Add(sp);
  6. sp
  7. = new SqlParameter("@ID","");
  8. cmd.Parameters.Add(sp);
  9.  
  10. -----------------------------------
  11. SqlParameter[]
  12. paras = new SqlParameter[]
  13. { new SqlParameter("@name","Pudding"),new SqlParameter("@ID","")
  14. };
  15. cmd.Parameters.AddRange(paras);
  16.  
  17. 这样子还是第二种写数组的方便

sql server 防 注入的更多相关文章

  1. sql server手工注入

    sql server手工注入 测试网站testasp.vulnweb.com 1. http://testasp.vulnweb.com/showforum.asp?id=0 http://testa ...

  2. mybatis 的sql语句及使用mybatis的动态sql mybatis防注入

    由于看到写的比较详细的文档这里将之前的删掉了,只留下一些我认为能帮助理解的和关于动态sql及防注入的一些理解.文档链接  :mybatis官方文档介绍 <!-- 根据条件查询用户 --> ...

  3. 手工注入——sql server (mssql)注入实战和分析

    前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sq ...

  4. JDBC编程之预编译SQL与防注入

    在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedS ...

  5. JDBC模拟登陆及SQL语句防注入问题

    实现模拟登陆效果:基于表Tencent package boom; import java.sql.Connection; import java.sql.DriverManager; import ...

  6. SQL防注入程序 v1.0

    /// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...

  7. Sql server注入一些tips

    sql server环境测试: 几个特性: 1.sql server兼容性可以说是最差的. 举例: select x from y where id=1 字符串查询 select x from y w ...

  8. (非原)SQL注入专题--整理帖 && like 语句拼sql 如何防止注入攻击。

    原地址:blog.csdn.net/lvjin110/article/details/28697695 like 语句拼sql 如何防止注入攻击?http://bbs.csdn.net/topics/ ...

  9. 使用OPENROWSET爆破SQL Server密码

    使用OPENROWSET爆破SQL Server密码   OPENROWSET函数是SQL Server提供的一个连接函数.它可以用于使用OLE DB方式连接一个数据库,并进行数据查询等操作.使用该函 ...

随机推荐

  1. iOS——plist的创建,数据写入与读取

    iOS中plist的创建,数据写入与读取 Documents:应用将数据存储在Documents中,但基于NSuserDefaults的首选项设置除外Library:基于NSUserDefaults的 ...

  2. ldap客户端工具ldap admin tool

    官网下载:非免费软件,自己破解 http://www.ldapbrowsermac.com/

  3. PJzhang:docker基础知识的2个疗程-one

    猫宁!!! 参考:http://virtual.51cto.com/art/201805/572135.htm https://www.cnblogs.com/rkit/p/9237696.html ...

  4. mongodb的安装部署-备份

    1.安装部署 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.10.tgz tar -zxf mongodb-linux- ...

  5. vue 页面 添加背景音乐

    背景音乐 添加背景音乐 并有单击事件   循环播放 <template> <div id="page"> <div style="width ...

  6. golang的定时器NewTimer、NewTicker使用

    package main import ( "fmt" "sync" "time" ) /** *ticker只要定义完成,从此刻开始计时, ...

  7. docker镜像内没有vim

    问题: 我们在容器中找不到vim等命令   原因: 镜像制作的时候没把这些东西加进去   解决: 用apt update更新源之后再安装vim apt update apt-get install - ...

  8. sysbench配置使用

    unzip sysbench-0.5.zipcd sysbench-0.5 #####sysbench下载:https://codeload.github.com/akopytov/sysbench/ ...

  9. Spring中@Component与@Bean的区别

    @Component和@Bean的目的是一样的,都是注册bean到Spring容器中. @Component  VS  @Bean @Component 和 它的子类型(@Controller, @S ...

  10. dede时间标签

    dedecms首页时间标签:1.12-27 样式([field:pubdate function='strftime("%m-%d",@me)'/]) 2.May 15, 2009 ...