精华内容
下载资源
问答
  • C#sql语句参数化防止sql注入 public override bool AddConditions(string FormId, string FormName, string Conditions, string UserId, out string errorMsg) { errorMsg = ""; DbHelper _helper = new ...

    C#sql语句参数化防止sql注入

      public override bool AddConditions(string FormId, string FormName, string Conditions, string UserId, out string errorMsg)
            {
                errorMsg = "";
                DbHelper _helper = new DbHelper("CQYRSJLJ", CPAppContext.CurDbType());
                //数据库链接
                SqlConnection conn = _helper.GetConnection() as SqlConnection;
                try
                {
                    string ID = Guid.NewGuid().ToString("N");
                    string sql = "insert into QueryForm_Conditions(Id,FormId,FormName,Conditions,UserId)Values(@ID,@FormId,@FormName,@Conditions ,@UserId)";
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    SqlParameter NID = new SqlParameter("@ID", ID.ToString());
                    SqlParameter FID = new SqlParameter("@FormId", FormId.ToString());
                    SqlParameter FNAME = new SqlParameter("@FormName", FormName.ToString());
                    SqlParameter COD = new SqlParameter("@Conditions", Conditions.ToString());
                    SqlParameter UID = new SqlParameter("@UserId", UserId.ToString());
                    cmd.Parameters.Add(NID);
                    cmd.Parameters.Add(FID);
                    cmd.Parameters.Add(FNAME);
                    cmd.Parameters.Add(COD);
                    cmd.Parameters.Add(UID);
                    if (cmd.ExecuteNonQuery() > 0)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                catch (Exception ex)
                {
                    errorMsg = ex.Message;
                    return false;
                }
                finally
                {
                    conn.Close();
                }
                
    
            }
    
    展开全文
  • 一、正常使用参数化语句string sqlStr="SELECT * FROM A WHERE A.字段1=@字段1" new SqlParameter("@字段1",字段1赋值)二、条件使用 like 错误:string sqlStr="SELECT * FROM A WHERE A.字段1 LIKE '@字段1%'" ...

    一、正常使用参数化语句

    string sqlStr="SELECT * FROM A WHERE A.字段1=@字段1"
    new SqlParameter("@字段1",字段1赋值)
    

    二、条件使用 like
    错误:string sqlStr="SELECT * FROM A WHERE A.字段1 LIKE '@字段1%'"
    new SqlParameter("@字段1",字段1赋值)
    此时执行语句会查询结果为空,因为sql数据库会认为’@字段1%'是个字符串,从而查找不到需要的结果
    正确:

    string sqlStr="SELECT * FROM A WHERE A.字段1  LIKE ''+ @字段1+ '%'" 
    new SqlParameter("@字段1",字段1赋值)
    

    正确执行
    三、条件使用 IN

    string sqlStr="SELECT * FROM A WHERE A.字段1  IN ('+@字段1+') "
    new SqlParameter("@字段1",字段1赋值)
    
    展开全文
  • 问题描述:SQL语句使用参数传递变量值,如果where子句中含有like关键字并使用sql的标准语法 like '%@parma%',则查询无数据或者报错 解决办法:sql语句中like部分修改为 like @parma,在变量parma中加入%,parma = ...

    问题描述:SQL语句使用参数传递变量值,如果where子句中含有like关键字并使用sql的标准语法 like '%@parma%',则查询无数据或者报错

    解决办法:sql语句中like部分修改为 like @parma,在变量parma中加入%,parma = "%"+parma+"%"。

    示例:

    select * from tb_Person where name like @name;

    SqlParameter[] parms = { 
                                                new SqlParameter("@name","%"+name+"%")
                                           };


    展开全文
  • 1、使用参数化SQL语句进行模糊查找的正确方法://定义sql语句string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like @StudentName";//给参数赋值command.Parameters....

    1、使用参数化SQL语句进行模糊查找的正确方法:

    //定义sql语句

    string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like @StudentName";

    //给参数赋值

    command.Parameters.AddWithValue("@StudentName",txtStudentName.Text+"%");

    2.错误做法1:

    //定义sql语句

    string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like '@StudentName%'";

    //给参数赋值

    command.Parameters.AddWithValue("@StudentName",txtStudentName.Text);

    3.错误做法2:

    //定义sql语句

    string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like @StudentName%";

    //给参数赋值

    command.Parameters.AddWithValue("@StudentName",txtStudentName.Text);

    展开全文
  • 本来语句是这样,但是死活没有值 if (!string.IsNullOrEmpty(input.参数)) { sqlWhere += $" and a.tym like ‘%@参数%’"; parameters.Add(new MySqlParameter("@参数", input.参数)); } 然后改为 if (!...
  • C#参数化执行SQL语句,防止漏洞攻击本文以mysql为例【20151108非查询操作】为什么要参数化执行SQL语句呢?一个作用就是可以防止用户注入漏洞。简单举个列子吧。比如账号密码登入,如果不用参数,写的简单点吧,就写从...
  • //sql初始化参数 //创建sqlParameter集合, SqlParameter[] pms = new SqlParameter[] { new SqlParameter("@loginId", SqlDbType.NVarChar, 32) { Value = id },//参数初始器{ Value = id } new SqlParameter(...
  • SQL Server参数化SQL语句中的like和in查询的语法(C#) 原文:SQL Server参数化SQL语句中的like和in查询的语法(C#)sql语句进行 like和in 参数化,按照正常的方式是无法实现的 我们一般的思维是: Like...
  • 在写项目的时候遇到一个问题,sql 语句进行 like in 参数化,按照正常的方式是无法实现的我们一般的思维是:Like 参数:string strSql = "select * from Person.Address where City like '%@add%'";SqlParameter[] ...
  • C# 使用参数化SQL语句

    万次阅读 热门讨论 2017-02-13 21:37:01
    单击“登录“按钮后,你会发现竟然也能进入主窗体!... 登录成功后,显示的主窗体,如下图: ...我们在程序中存在着大量拼接产生SQL语句的代码,这就会导致一个比较大的安全隐患,容易遭受SQL注入攻击。就这个窗体例
  • C#中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Oracle中Clob字段等)使用参数化SQL语句很...
  • 我们在程序中存在着大量拼接产生SQL语句的代码,这就会导致一个比较大的安全隐患,容易遭受SQL注入攻击。我们在代码中用的SQL语句是: string sqlStr = "select * from [Users] where UserName='&quot...
  • //sql语句 string sql = "select * from table_name where column_name1=@param1 and column2=@param2"; SQLiteCommand cmd = new SQLiteCommand(con); //构造参数 SQLiteParameter[] pms = new SQLiteParameter[] ...
  • 在写项目的时候遇到一个问题,sql 语句进行 like in 参数化,按照正常的方式是无法实现的我们一般的思维是: Like 参数:string strSql = "select * from Person.Address where City like '%@add%'";SqlParameter[]...
  • 参数顺序错了,就会出错不过是insert 还是 update internal static int InsertProducts(TProducts products) { string sql = "insert into [products] ([name],[price],[pricing],[content],[time]...
  • 开发的时候为了方便快速,经常会使用SQL语句拼接的方式,这往往让不法分子有了可乘之机,利用漏洞进行SQL注入,做一些不可描述的事情 SqlCommand cmd = new SqlCommand(); cmd.CommandText = select * from user ...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 282
精华内容 112
关键字:

c#sql语句参数化

c# 订阅