SqlParameter应用实例 实验日记

本文通过一个实验展示了如何在C#中利用SqlParameter来构造SQL查询,以避免SQL注入风险。示例中,根据用户输入动态构建SQL字符串,并为每个参数创建SqlParameter对象,确保数据安全。最后,使用SqlDataAdapter填充DataTable获取查询结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        String connString = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;//取得连接字符处
        String sqlString = "select * from teacher where name=@NAME and password=@PASSWORD";//SQL查询字符串

        if (this.ddlIsManager.SelectedIndex > 0)
        {
            sqlString += " and isManager = 'true'";
        }

        //声明数据连接对象和数据访问对象
        SqlConnection connection = new SqlConnection(connString);
        SqlCommand command = new SqlCommand(sqlString,connection);

        //声明SQL查询参数并对其赋值然后将其加入Command对象,以防止SQL注入攻击。
        SqlParameter parameterName = new SqlParameter("@NAME",SqlDbType.VarChar);//@变量+数据类型
        parameterName.Value = this.txtUserName.Text;
        SqlParameter parameterPassword = new SqlParameter("@PASSWORD", SqlDbType.VarChar);
        parameterPassword.Value = this.txtPassword.Text;

        command.Parameters.Add(parameterName);
        command.Parameters.Add(parameterPassword);

        if (Boolean.Parse(ddlIsManager.SelectedValue))
        {
            
            sqlString += "and isManager=@ISMANAGER ";
            SqlParameter parameterIsManager = new SqlParameter("@ISMANAGER", SqlDbType.Bit);
            parameterIsManager.Value = true;
            command.Parameters.Add(parameterIsManager);
        }



        //查询数据库取得数据;
        SqlDataAdapter adapter = new SqlDataAdapter(command);

        DataTable dtData = new DataTable();
        adapter.Fill(dtData);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值