ADO.NET_SqlConnection类,SqlCommand类,SqlDataReader类
Posted 小企鹅推雪球!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADO.NET_SqlConnection类,SqlCommand类,SqlDataReader类相关的知识,希望对你有一定的参考价值。
文章目录
sqlConnection 类
1.sqlConnection 类用于建立到sql server数据库的连接, 是一个封闭的类, 不能被继承
2.在连接数据库时,sqlConnection 类 与SqlDataAdapter和SqlCommand类 一起使用提高性能
3.在使用sqlConnection 类时,即使超出了连接范围,连接也不会被关闭,因此需要使用 Close()方法关闭连接
sqlConnection 类的构造函数
1.sqlConnection() 用于初始化 sqlConnection 类的新实例
2.sqlConnection(String) 用于初始化 sqlConnection 类的新实例,并将连接字符串作为参数
3.sqlConnection(String SqlCredential) 用于初始化一个带有两个参数的SqlConnection 类的新实例, 第一个参数时连接字符串, 第二个参数是sql凭证
sqlConnection 类的方法
1.open() 打开数据库连接
2.close() 关闭与数据库的连接
3.ChangeDatabase(String) 用于更改当前数据库以打开sqlConnection
4.BeginTransaction() 用于启动数据库事务
5.changePassword(String, String) 更改连接字符中指示的用于的sql server密码
6.GetSchema() 返回当前连接的sql server 数据源的模式信息
7.ResetStatistics() 如果启动统计信息收集,会重置所有的值
sqlConnection 类的实例
public void Connecting()
{
using (
//1. 创建连接
SqlConnection con = new SqlConnection("data source=.; database=stu; integrated security=SSPI")
)
{
con.Open();
Console.WriteLine("建立与SQL Server数据库的连接成功~!");
}
}
/// <summary>
/// 不使用using 块进行连接
/// </summary>
public void Connectings()
{
SqlConnection con = null;
try
{
// 1. 创建连接
con = new SqlConnection("data source=.; database=stu; integrated security=SSPI");
con.Open();
Console.WriteLine("建立与SQL Server数据库的连接成功~!");
// 查询SQL Server 数据库的版本
SqlCommand cm = new SqlCommand("Select @@version as version", con);
// 2. 执行sql语句
SqlDataReader sdr = cm.ExecuteReader();
// 3. 读取数据
while (sdr.Read())
{
Console.WriteLine("SQL Server 数据库的版本是: " + sdr["version"]);
}
}
catch (Exception e)
{
Console.WriteLine("程序出错了,不知道发生了什么~!\\n" + e);
}
finally
{ //4. 关闭连接
con.Close();
}
}
SqlDataReader类
SqlDataReader
类用于从sql server 数据库中读取数据SqlDataReader
从sql server数据库读取仅向前行的数据流中的数据SqlDataReader
是封闭类,不能被继承,SqlDataReader
继承了DbDataReader
类并实现了IDisposable
接口
SqlDataReader 类的属性
Connection
用于获取于SqlDataReader
关联的SqlConnection
。FieldCount
用于获取当前行中的列数。IsClosed
用于检索布尔值,该值指示指定的SqlDataReader
实例是否已关闭VisibleFieldCount
用于获取SqlDataReader中未隐藏的字段数。Close()
用于关闭SqlDataReader对象。NextResult()
当读取SQL语句的结果时,它用来获得下一个结果。Read()
用于从SQL Server数据库中读取记录。GetName(Int32)
用于获取指定列的名称。
SqlCommand类
- ADO.Net的SqlCommand类用于存储和执行SQL Server数据库的SQL语句,是一个封闭的类,不能被继承
SqlCommand类的构造函数
SqlCommand()
初始化SqlCommand
类的新实例。SqlCommand(String)
使用字符串参数初始化SqlCommand
类的新实例。SqlCommand(String, SqlConnection, SqlTransaction)
初始化SqlCommand
类的新实例。它分别使用三个参数查询,连接和事务字符串。SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)
使用指定的命令文本,连接,事务和加密设置来初始化SqlCommand
类的新实例。
SqlCommand类的构造方法
BeginExecuteNonQuery()
用于启动由此SqlCommand
描述的SQL语句的异步执行Cancel()
试图取消一个SqlCCommand
的执行Clone()
创建一个新的SqlCommand
对象,它是当前实例的一个副本。ExecuteScalar()
执行查询并返回结果集中的第一行的第一列,其他列或行将被忽略。Prepare
通过使用SQL Server的实例来创建准备好的命令版本。ResetCommandTimeout()
用于将CommandTimeout
属性重置为默认值。
SqlDataReader 类 和 SqlCommand 类的实例
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace code04
{
class Program
{
static void Main(string[] args)
{
new Program().GetData();
}
/// <summary>
/// SqlDataReader类
/// </summary>
public void GetData()
{
SqlConnection con = null;
try
{
con = new SqlConnection("data source=.; database=stu; integrated security=SSPI");
SqlCommand cm = new SqlCommand("select * from student_info", con);
con.Open();
Console.WriteLine("当前 student_info 表中存有以下学生信息:");
SqlDataReader sdr = cm.ExecuteReader();
while (sdr.Read())
{
Console.WriteLine("学生编号:" + sdr["id"] + " 学生姓名:" + sdr["name"] + " " + sdr["email"]);
}
}
catch (Exception e)
{
Console.WriteLine("OOPs, something went wrong." + e);
}
// Closing the connection
finally
{
con.Close();
}
}
}
}
以上是关于ADO.NET_SqlConnection类,SqlCommand类,SqlDataReader类的主要内容,如果未能解决你的问题,请参考以下文章