第二周学习笔记:SqlConnection、Sqlcommand

 

思维导图: 

 

                                                    第二周学习笔记:SqlConnection、Sqlcommand

知识点:SQL连接字符串构造、连接字符串加密

SqlConnection:直接声明并实例化SQL连接,在在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性,用sqlConnection.State.ToString()显示当前的连接状态;

先声明并实例化SQL连接,然后利用SQL连接字符串构造器分别将各控件的内容赋予SQL连接字符串构造器的相应属性,即数据源、初始化条目(数据库)、集成安全性(是否windows验证);

 第二周学习笔记:SqlConnection、Sqlcommand

也可以利用配置文件实现更方便的连接,需要先添加包含访问配置文件所需的配置管理器,即添加引用System.Configuration,接着配置管理器从配置文件读取连接字符串,并将之赋予SQL连接的连接字符串属性;另外还可以对连接字符串实现加密,即保存,

 

 

通过.ConnectionStrings.ConnectionStrings.Add(connectionStringSettings)来实现连接字符串的写入,然后configuration.ConnectionStrings.SectionInformation.ProtectSection(null)对连接字符串进行加密;第二周学习笔记:SqlConnection、Sqlcommand

 

Sqlcommand:

第二周学习笔记:SqlConnection、Sqlcommand

直接声明并实例化SQL命令,SQL命令的命令文本由字符串拼接而成,不含参数,然后调用SQL命令的方法ExecuteScalar来执行命令,返回标量结果,执行标量的返回结果类型为object,可通过强制类型转换,转为整型;第二种是命令文本包含参数,SQL参数有两种用法,用法1是声明并实例化参数,然后设置参数的各种属性,最后向SQL命令的参数集合添加SQL参数;用法2是直接调用方法AddWithValue向SQL命令的参数集合添加参数的名称、值,但需注意的是由于HASHBYTES函数的参数为NVARCHAR,则SQL参数类型自动设为NVARCHAR,需手动转换成VARCHAR,使用SQL参数可以避免注入式攻击,安全性较高;也可以调用SQL连接的方法CreateCommand来创建SQL命令,然后调用SQL命令的方法ExecuteNonQuery来执行命令,向数据库写入数据,并返回受影响行数;

 

第二周学习笔记:SqlConnection、Sqlcommand

第二周学习笔记:SqlConnection、Sqlcommand

执行命令后可以通过语句try....catch...捕捉SQL异常。最终结果如下图正常运行。

第二周学习笔记:SqlConnection、Sqlcommand