sql语句的安全性--.net

来源:互联网 发布:网络歌手说唱歌曲 编辑:程序博客网 时间:2024/05/24 20:06

前几天做了一些系统,感觉sql的一些写法不安全,特别当你传的是字符串的sql语句,就不安全。找了好久,找到了一些方法

public static int Add(RoleInfo  role)
        {
            string sql = string.Format("insert into [RoleInfo] values ('{0}','{1}')", role.RoleName, role.RoleDesc);

  int row = GetConnection.NoSelect(sql);
            return row;
 
        }

这样的写法会安全点。

而传统的方法是

  public static int InsertRoleInfo(RoleInfo role)
        {
            string sql = "INSERT INTO RoleInfo  VALUES('"+role.RoleName+"','"+role.RoleDesc+"')";
            int row = GetConnection.NoSelect(sql);
            return row;
        }

你想想看,如果RoleInfo里面的roleName的字符串是“你'delete from Id'好”用传统的方法去执行,执行的时候就会报错了。