SqlParameter 实现数据库的插入操作,防止sql注入。
2013-04-22 14:59
435 查看
今天学习了一下SqlParameter的用法,原来这么写是为了防止sql注入,破坏数据库的。并自己动手连接了数据库。
例子: 点击Button1按钮的时候就把数据插入数据库中。
例子: 点击Button1按钮的时候就把数据插入数据库中。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace ParaMeter { public partial class Test : System.Web.UI.Page { private string connectionStr; //链接数据库的字符串 private SqlConnection conDB; //数据库的链接 private SqlTransaction _trans; //事务对象 protected void Page_Load(object sender, EventArgs e) { //connectionStr = ConfigurationSettings.AppSettings["constr"]; connectionStr = "server=10.11.43.189\\SQL2008;database=OA_WEB_DB;uid=sa;pwd=123456"; conDB = new SqlConnection(connectionStr); } protected void Button1_Click(object sender, EventArgs e) { StringBuilder strSql = new StringBuilder(); strSql.Append("INSERT INTO [OA_WEB_DB].[dbo].[OA_RT_FileType]([FileTypeName],[Deleted])"); strSql.Append("VALUES(@fileName,@delete)"); SqlParameter[] parameters = { new SqlParameter("@fileName", SqlDbType.NVarChar,100), new SqlParameter("@delete",SqlDbType.Bit), }; parameters[0].Value = "文件类型"; parameters[1].Value = false; bool IsSucc = ExecUpdateSql(strSql.ToString(), parameters); if (IsSucc) { Label1.Text = "插入成功"; } else { Label1.Text = "插入失败"; } } /// 执行一条更新语句 /// </summary> /// <param name="SQLString">需要执行的SQL语句。</param> /// <param name="cmdParms">执行参数数组</param> /// <returns>成功返回True,失败返回False。</returns> private bool ExecUpdateSql(string SQLString, params SqlParameter[] cmdParms) { using (SqlCommand cmd = new SqlCommand()) { try { PrepareCommand(cmd, conDB, _trans, SQLString, cmdParms); int iret = cmd.ExecuteNonQuery(); return true; } catch (System.Data.SqlClient.SqlException e) { return false; } } } private void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = CommandType.Text;//cmdType; if (cmdParms != null) { foreach (SqlParameter parameter in cmdParms) { if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null)) { parameter.Value = DBNull.Value; } cmd.Parameters.Add(parameter); } } } } }
相关文章推荐
- 数据库SqlParameter 的插入操作,防止sql注入的实现代码
- 数据库SqlParameter 的插入操作,防止sql注入的实现代码
- 玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入
- 数据库插入或者更新操作的方法实现
- 【EF】EF实现大批量数据库插入操作
- 数据库的插入、修改、删除操作(java实现)
- JDBC实现数据库的几种基本操作(查询,分页查询,根据关键字进行查询以及插入数据)
- 使用bboss persistent框架实现数据库的插入操作
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- Hibernate之*hbm.xml文件和实体类操作数据库实现插入和查询
- 玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入
- Struts2+poi实现Excel文件上传并插入数据库的操作
- (二)不同数据库间的交叉数据查询插入等操作实现
- java连接数据库操作2--防止sql注入
- vb.net 利用ADO实现数据库的删除、插入、修改操作(adodb)
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- 鼠标右键弹出菜单 上传图片自定义控件 弹出菜单(PopUp 控件) 2 实现数据库插入操作 文件名通过参数传递
- C#编写程序操作数据库如何防止SQL注入漏洞的发生
- 只插入来代替删改实现数据库表数据的版本控制及操作历史查询
- vb 利用ADO.Net实现数据库的连接,修改,删除,插入操作