1. 程式人生 > >ADO.Net之SqlConnection、 Sqlcommand的應用學習心得(思維導圖,知識解析,案例分析)

ADO.Net之SqlConnection、 Sqlcommand的應用學習心得(思維導圖,知識解析,案例分析)

ros statistic system 啟動 clone() 連接字符串 esp ans 用戶

ADO.NetSqlConnectionSqlcommand的應用

一、思維導圖:

技術分享圖片

ADO.NETSQL連接:

技術分享圖片

二、知識點介紹:

SqlConnectionSqlcommand都是組成數據提供程序的類。

SqlConnection使用它來建立和數據庫的連接,Sqlcommand使用它執行SQL命令和存儲過程。

ADO.NET有兩種類型的對象:基於連接的和基於內容的,SqlConnectionSqlcommand屬於基於連接的,它們連接到數據庫,執行SQL語句,遍歷只讀結果集或者填充DataSet。基於連接的對象是針對具體數據源類型的,並且可以在提供程序制定的命令空間中

(例如SQL Server提供程序的System.Data.SqlClient)找到。

2.1SqlConnection

SqlConnection類用於建立到SQL Server數據庫的開放連接。這是一個封閉的類,所以不能被繼承。連接到Microsoft SQL Server數據庫時,SqlConnection類與SqlDataAdapterSqlCommand類一起使用來提高性能。

即使連接超出範圍,連接也不會明確關閉。 因此,在代碼中必須通過調用Close()方法顯式關閉連接。

1.SqlConnection類簽名(語法)

Public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable, IDisposable

SqlConnection2個構造方法,一個有參,一個無參

public SqlConnection();

public SqlConnection(string connectionString);

3.創建SqlConnection對象的兩種形式:

SqlConnection connection = new SqlConnection("data source=.; database=SampleDB; integrated security=SSPI");

SqlConnection connection = new SqlConnection(); connection.ConnectionString = "data source=.; database=SampleDB; integrated security=SSPI";

3.創建SqlConnection類構造函數

編號

構造函數

描述

1

SqlConnection()

它用於初始化SqlConnection類的新實例。

2

SqlConnection(String)

它用於初始化SqlConnection類的新實例,並將連接字符串作為參數。

3

SqlConnection(String, SqlCredential)

它用於初始化一個帶有兩個參數的SqlConnection類的新實例。首先是連接字符串,其次是SQL憑據。

4.SqlConnection類的方法

編號

方法

描述

1

BeginTransaction()

它用於啟動數據庫事務。

2

ChangeDatabase(String)

它用於更改當前數據庫以打開SqlConnection

3

ChangePassword(String, String)

它會更改連接字符串中指示的用戶的SQL Server密碼。

4

Close()

它用於關閉與數據庫的連接。

5

CreateCommand()

它作為分布式事務在指定的事務中使用。

6

GetSchema()

它返回這個SqlConnection的數據源的模式信息。

7

Open()

它用來打開數據庫連接。

8

ResetStatistics()

如果啟用統計信息收集,它會重置所有值。

2.2 SqlCommand

ADO.NetSqlCommand類用於存儲和執行SQL Server數據庫的SQL語句。這是一個封閉的類,所以不能被繼承。

1.SqlCommand類簽名(語法)

public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable, IDisposable

2.構造的函數

編號

構造函數

描述

1

SqlCommand()

它用於初始化SqlCommand類的新實例。

2

SqlCommand(String)

它用於使用字符串參數初始化SqlCommand類的新實例。

3

SqlCommand(String, SqlConnection, SqlTransaction)

它用於初始化SqlCommand類的新實例。它分別使用三個參數查詢,連接和事務字符串。

4

SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting)

它使用指定的命令文本,連接,事務和加密設置來初始化SqlCommand類的新實例。

  1. 構造方法

編號

方法

描述

1

BeginExecuteNonQuery()

它用於啟動由此SqlCommand描述的SQL語句的異步執行。

2

Cancel()

它試圖取消一個SqlCommand的執行。

3

Clone()

它創建一個新的SqlCommand對象,它是當前實例的一個副本。

4

CreateParameter()

它創建一個SqlParameter對象的新實例。

5

ExecuteReader()

它用於將CommandText發送給Connection並構建一個SqlDataReader。

6

ExecuteXmlReader()

它用於將CommandText發送給Connection並構建一個XmlReader對象。

7

ExecuteScalar()

它執行查詢並返回結果集中第一行的第一列,其他列或行將被忽略。

8

Prepare()

它用於通過使用SQL Server的實例來創建準備好的命令版本。

9

ResetCommandTimeout()

它用於將CommandTimeout屬性重置為默認值。

三、實例說明:創建一個SqlCommand實例並執行一條SQL語句

using System;using System.Data.SqlClient;

namespace AdoNetSqlCommand{

class Program

{

static void Main(string[] args)

{

new Program().CreateTable();

}

public void CreateTable()

{

SqlConnection con = null;

try

{

// Creating Connection

con = new SqlConnection("data source=.; database=student; integrated security=SSPI");

// writing sql query

SqlCommand cm = new SqlCommand("select * from student_info", con);

// Opening Connection

con.Open();

Console.WriteLine("當前 student_info 表中的記錄信息如下 - ");

// Executing the SQL query

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的應用學習心得(思維導圖,知識解析,案例分析)