码迷,mamicode.com
首页 > 数据库 > 详细

ADO.Net之SqlConnection、 Sqlcommand的应用

时间:2018-09-18 20:49:10      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:image   word   ring   ash   .net   连接字符串   分享   攻击   parameter   

 

一、知识描述点

1、SqlConnection

(1)使用SqlConnection类可以连接到SQL Server数据库。SqlConnection对象的主要属性和方法如下:

——属性:ConnectionString(连接字符串)

——方法:Open(打开数据库连接)

        Close(关闭数据库连接)

(2)连接数据库主要分以下三步:

——定义字符串

——创建SqlConnection对象,代码如下:

SqlConnection sqlConnection = new SqlConnection();

——打开数据库连接,代码如下:

sqlConnection.Open();

2、SqlCommand

(1)SqlCommand对象用于执行具体的SQL语句,如增加、删除、修改、查找。SqlCommand对象的使用步骤如下。

——创建SqlConnection对象。

——定义SQL语句。

——创建SqlCommand对象。

——调用SqlCommand对象的某个方法,执行SQL语句。

 

二、思维导图

技术分享图片

三、相关代码范例

1、用户注册代码

技术分享图片

2、注意问题

下图这种密码赋值很容易受到注入式攻击

技术分享图片

所输入的这些字符改了原代码,我们来分析下为什么

‘ ) or 1=1 ;--

(1)or前后只要有一方成立则为成立,而1=1是一个恒成立的等式。

(2)--会注释掉后面所输入的任何代码。

为了解决这个问题可以使用如下带参数代码:

sqlCommand.CommandText ="INSERT tb_User (No,Password) VALUES(@No,HASHBYTES (‘MD5‘,@Password));";

sqlCommand.Parameters.AddWithValue("@No",this.txb_UserNo.Text.Trim());

sqlCommand.Parameters.AddWithValue("@Password",this.txb_Password.Text.Trim());

sqlCommand.Parameters["@Password"].SqlDbType=SqlDbType.VarChar;

ADO.Net之SqlConnection、 Sqlcommand的应用

标签:image   word   ring   ash   .net   连接字符串   分享   攻击   parameter   

原文地址:https://www.cnblogs.com/hhhhhhh/p/9671063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!