读书人

关于参数化查询的有关问题

发布时间: 2012-02-22 19:36:56 作者: rapoo

关于参数化查询的问题

C# code
string qry = "INSERT INTO tblUser values(@name, @pwd, @roleID, @status, @memo)";            using (SqlConnection conn = SQLHelper.GetConnection())            {                try                {                    SqlCommand cmd = new SqlCommand(qry, conn);                    cmd.Parameters.Add("@name", SqlDbType.NVarChar);                    cmd.Parameters["@name"].Value = user.LoginName;


这是一个片段,这样我会用,但如果查询语句里需要用 LIKE 关键字应该怎么加参数??下面又暂时采用的方法,请问有更好的方法没?

C# code
StringBuilder sb = new StringBuilder();            SqlCommand cmd = new SqlCommand();            sb.Append("SELECT * FROM tblUser WHERE 1=1");            if (user != null)            {                              if (!String.IsNullOrEmpty(user.LoginName))                {                    string name = user.LoginName;   // [color=#FF0000]我在这里先声明了一个临时变量,暂时只会这么做,有更好的方法吗?[/color]                    sb.Append(" and tu_LoginName LIKE '%" + @name + "%'");                    cmd.Parameters.Add("@name", SqlDbType.VarChar);                    cmd.Parameters["@name"].Value = user.LoginName;                }


[解决办法]
用SQL变量的方式就是这样的!已经很正统了!

读书人网 >asp.net

热点推荐