亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用C#連接SQL?Server的詳細(xì)圖文教程

 更新時間:2023年02月02日 14:25:13   作者:霍瑟夫  
初學(xué)者學(xué)習(xí)上位機開發(fā)遇到數(shù)據(jù)庫連接不上,是很常見的情況,可能會以各種形式呈現(xiàn)出來,下面這篇文章主要給大家介紹了關(guān)于使用C#連接SQL?Server的詳細(xì)圖文教程,需要的朋友可以參考下

一、提前準(zhǔn)備好數(shù)據(jù)庫

1. 連接數(shù)據(jù)庫服務(wù)器

這里我使用的是SQL Server 身份驗證(也可使用windows 身份驗證)

賬戶信息如下:

登錄名:sa

密碼:mima(輸入時自動隱藏)

2. 建立數(shù)據(jù)庫和表

這里我的數(shù)據(jù)庫信息如下:

服務(wù)器名:HG66\MSSQLSERVER01

數(shù)據(jù)庫名:DataBase01

表名:Table_1

三個屬性分別為:ID、姓名、年齡

二、創(chuàng)建項目并引入命名空間

1. 創(chuàng)建一個項目(這里以控制臺應(yīng)用為例)

建議創(chuàng)建以 .NET Framework 為框架的項目,否則可能會出現(xiàn)“找不到類型名“SqlConnection“”這樣的錯誤,原因為沒有使用 .NET Framework 框架的項目默認(rèn)沒有引入和SQL相關(guān)的命名空間

解決方法:【C#】找不到類型名“SqlConnection“的解決方法

2. 引入相關(guān)命名空間

using System.Data;  // 表的命名空間
using System.Data.SqlClient;    // 和SQL相關(guān)的命名空間

三、使用ADO.NET訪問數(shù)據(jù)庫

1. 配置連接信息

在第一部分,已經(jīng)知道了我數(shù)據(jù)庫的信息:

服務(wù)器名:HG66\MSSQLSERVER01

登錄名:sa

密碼:mima

數(shù)據(jù)庫名:DataBase01

方法一

先聲明一個SqlConnectionStringBuilder對象,再設(shè)置這個對象的屬性

// 聲明一個SqlConnectionStringBuilder對象
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "HG66\\MSSQLSERVER01";    // 設(shè)置數(shù)據(jù)源服務(wù)器,注意這里的單斜線變雙斜線了
scsb.UserID = "sa";     // 設(shè)置用戶名
scsb.Password = "mima"; // 設(shè)置密碼
scsb.InitialCatalog = "DataBase01"; // 設(shè)置要訪問的數(shù)據(jù)庫

方法二

先聲明一個字符串,再設(shè)置字符串的值,字符串的值符合下面這個式子

"Data Source = (1); Database = (2); User Id = (3); Password = (4)"

(1)是數(shù)據(jù)源服務(wù)器

(2)是要訪問的數(shù)據(jù)庫 (Database改為Initial Catalog也可以)

(3)是用戶名

(4)是密碼

string ConStr = "Data Source = HG66\\MSSQLSERVER01; Database = DataBase01;"
	+"User Id = sa; Password = mima";

上面這種輸入用戶名和密碼的是使用了 SQL Server 身份驗證,如果要使用 windows 身份驗證,只需要將 “User Id = sa; Password = mima” 改為 “Trusted_Connection = SSPI” 或 “Integrated Security = SSPI”

string ConnStr = "server = HG66\\MSSQLSERVER01; Database = DataBase01;"
	+"Trusted_Connection = SSPI";

2. 創(chuàng)建連接并打開數(shù)據(jù)庫

使用方法一的 scsb 或方法二的 ConStr 來創(chuàng)建連接,創(chuàng)建連接后,需要通過這個連接打開數(shù)據(jù)庫,這樣才能操作數(shù)據(jù)庫
方法一的 scsb 由于不是string類型,所以需要使用ToString()方法

// 創(chuàng)建連接
SqlConnection SqlCon = new SqlConnection(scsb.ToString());
// 打開數(shù)據(jù)庫
SqlCon.Open();

方法二的 ConStr 可以直接作為參數(shù)傳進去

// 創(chuàng)建連接
SqlConnection SqlCon = new SqlConnection(ConStr);
// 打開數(shù)據(jù)庫
SqlCon.Open();

3. 執(zhí)行SQL查詢語句

我現(xiàn)有數(shù)據(jù)庫的數(shù)據(jù)如下

假設(shè)我們要查找年齡為60的人的所有信息,在數(shù)據(jù)庫應(yīng)用中的操作如下

但是使用C#的話,①我們需要先使用一個字符串來存儲SQL查詢語句,②再通過這個字符串和已經(jīng)打開的數(shù)據(jù)庫來創(chuàng)建用于執(zhí)行SQL語句的對象,此時的對象并未執(zhí)行SQL查詢語句,而是已經(jīng)封裝好,③于是我們執(zhí)行對象的SQL查詢語句并接受結(jié)果,④最后讀取結(jié)果里的數(shù)據(jù)并輸出

// 1、創(chuàng)建要執(zhí)行的SQL查詢語句
string str = "select * from table_1 where 年齡 = 60";

// 2、創(chuàng)建用于執(zhí)行SQL查詢語句的對象
SqlCommand SqlCom = new SqlCommand(str, SqlCon);// 參數(shù)1:SQL語句字符串。參數(shù)2:已經(jīng)打開的數(shù)據(jù)庫

// 3、執(zhí)行對象的SQL查詢語句并接受結(jié)果
SqlDataReader Sdr = SqlCom.ExecuteReader();

// 4、讀取結(jié)果的數(shù)據(jù)
while (Sdr.Read())
{
    Console.WriteLine("編號:" + Sdr["ID"].ToString());
    Console.WriteLine("姓名:" + Sdr["姓名"].ToString());
    Console.WriteLine("年齡:" + Sdr["年齡"].ToString());
}

如果所有的操作已完成,不要忘了關(guān)閉數(shù)據(jù)庫

// 關(guān)閉數(shù)據(jù)庫
SqlCon.Close();

運行程序,結(jié)果如下,查詢的結(jié)果與數(shù)據(jù)庫應(yīng)用中查詢的結(jié)果相同

本程序的源碼如下

using System;
using System.Data;  // 表的命名空間
using System.Data.SqlClient;    // 和SQL相關(guān)的命名空間


namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 方法一
            SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
            scsb.DataSource = "HG66\\MSSQLSERVER01";    // 設(shè)置數(shù)據(jù)源服務(wù)器
            scsb.UserID = "sa";     // 設(shè)置用戶名
            scsb.Password = "mima"; // 密碼
            scsb.InitialCatalog = "DataBase01"; // 設(shè)置要訪問的數(shù)據(jù)庫

            // 方法二
            string ConStr = "Data Source = HG66\\MSSQLSERVER01; Database = DataBase01;"
                + "User Id = sa; Password = mima";

            // 創(chuàng)建連接
            SqlConnection SqlCon = new SqlConnection(ConStr);
            // 打開數(shù)據(jù)庫
            SqlCon.Open();

            // 1、創(chuàng)建要執(zhí)行的SQL語句
            string str = "select * from table_1 where 年齡 = 60";

            // 2、創(chuàng)建用于執(zhí)行SQL語句的對象
            SqlCommand SqlCom = new SqlCommand(str, SqlCon);

            // 3、執(zhí)行SQL語句并接受結(jié)果
            SqlDataReader Sdr = SqlCom.ExecuteReader();

            // 4、讀取結(jié)果的數(shù)據(jù)
            while (Sdr.Read())
            {
                Console.WriteLine("編號:" + Sdr["ID"].ToString());
                Console.WriteLine("姓名:" + Sdr["姓名"].ToString());
                Console.WriteLine("年齡:" + Sdr["年齡"].ToString());
            }

            // 關(guān)閉數(shù)據(jù)庫
            SqlCon.Close();


            Console.ReadKey();
        }
    }
}

總結(jié)

到此這篇關(guān)于使用C#連接SQL Server的文章就介紹到這了,更多相關(guān)C#連接SQL Server內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • wpf將表中數(shù)據(jù)顯示到datagrid示例

    wpf將表中數(shù)據(jù)顯示到datagrid示例

    這篇文章主要介紹了wpf將表中數(shù)據(jù)顯示到datagrid示例,需要的朋友可以參考下
    2014-02-02
  • 詳解C#操作XML的方法總結(jié)

    詳解C#操作XML的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C#對XML文件進行一些基本操作的方法,譬如:生成xml文件、修改xml文件的節(jié)點信息等,需要的可以參考一下
    2022-11-11
  • 基于C#?實現(xiàn)?OPC?DA?Server的問題小結(jié)

    基于C#?實現(xiàn)?OPC?DA?Server的問題小結(jié)

    這篇文章主要介紹了基于C#?實現(xiàn)?OPC?DA?Server的相關(guān)知識,關(guān)于C#怎么編寫一個進程外的DCOM組件,這里先不做介紹了,這里主要介紹下OPC?DA?Server?的第一個接口,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • WCF實現(xiàn)進程間管道通信Demo分享

    WCF實現(xiàn)進程間管道通信Demo分享

    下面小編就為大家分享一篇WCF實現(xiàn)進程間管道通信Demo,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C#中32位浮點數(shù)Float(Real)一步步按位Bit進行分析

    C#中32位浮點數(shù)Float(Real)一步步按位Bit進行分析

    這篇文章主要介紹了C#中32位浮點數(shù)Float(Real)一步步按位Bit進行分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 如何用C#創(chuàng)建用戶自定義異常淺析

    如何用C#創(chuàng)建用戶自定義異常淺析

    雖然在 C# 語言中已經(jīng)提供了很多異常處理類,但在實際編程中還是會遇到未涉及的一些異常處理,這篇文章主要給大家介紹了關(guān)于如何用C#創(chuàng)建用戶自定義異常的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Winform下實現(xiàn)圖片切換特效的方法

    Winform下實現(xiàn)圖片切換特效的方法

    這篇文章主要介紹了Winform下實現(xiàn)圖片切換特效的方法,包括百葉窗、淡入、旋轉(zhuǎn)等多種效果,需要的朋友可以參考下
    2014-08-08
  • C#實現(xiàn)終止正在執(zhí)行的線程

    C#實現(xiàn)終止正在執(zhí)行的線程

    這篇文章主要介紹了C#實現(xiàn)終止正在執(zhí)行的線程的方法,針對臨界資源等容易出現(xiàn)錯誤的地方進行了分析,并提出了改進方案與實例,需要的朋友可以參考下
    2014-09-09
  • C# 郵件發(fā)送和接收實現(xiàn)代碼

    C# 郵件發(fā)送和接收實現(xiàn)代碼

    這兩個方法很容易理解,只實現(xiàn)了最基本的功能,如果需要可以查看源代碼獲取更多信息。
    2009-07-07
  • C#函數(shù)式程序設(shè)計之用閉包封裝數(shù)據(jù)的實現(xiàn)代碼

    C#函數(shù)式程序設(shè)計之用閉包封裝數(shù)據(jù)的實現(xiàn)代碼

    如果一個程序設(shè)計語言能夠用高階函數(shù)解決問題,則意味著數(shù)據(jù)作用域問題已十分突出。當(dāng)函數(shù)可以當(dāng)成參數(shù)和返回值在函數(shù)之間進行傳遞時,編譯器利用閉包擴展變量的作用域,以保證隨時能得到所需要的數(shù)據(jù)
    2014-03-03

最新評論