1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C# 参数化SQL

C# 参数化SQL

时间:2024-04-05 04:30:07

相关推荐

C# 参数化SQL

参数化查询(Parameterized Query 或 Parameterized Statement)是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值,这个方法目前已被视为最有效可预防SQL注入攻击 (SQL Injection) 的攻击手法的防御方式。

在使用参数化查询的情况下,数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成 SQL 指令的编译后,才套用参数运行,因此就算参数中含有恶意的指令,由于已经编译完成,就不会被数据库所运行。(这两段摘自百度百科,/view/3061939.htm)

----

try{using (var connection = new SqlConnection(PubConstant.ConnectionString)){connection.Open();SqlCommand command = new SqlCommand("insert into FeedbackData(username, avatar, title, location, content, datetime)" +" values(@username, @avatar, @title, @location, @content, @datetime)");SqlParameter parameter = null;parameter = new SqlParameter("@username", SqlDbType.NVarChar);parameter.Value = item.Username;command.Parameters.Add(parameter);parameter = new SqlParameter("@avatar", SqlDbType.NVarChar);parameter.Value = item.Avatar;command.Parameters.Add(parameter);parameter = new SqlParameter("@title", SqlDbType.NVarChar);parameter.Value = item.Title;command.Parameters.Add(parameter);parameter = new SqlParameter("@location", SqlDbType.NVarChar);parameter.Value = item.Location;command.Parameters.Add(parameter);parameter = new SqlParameter("@content", SqlDbType.NVarChar);parameter.Value = item.Content;command.Parameters.Add(parameter);parameter = new SqlParameter("@datetime", SqlDbType.DateTime);parameter.Value = item.Datetime;command.Parameters.Add(parameter);command.Connection = connection;command.ExecuteNonQuery();connection.Close();return true;}}catch (Exception ex){return false;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。