C#連接SQL Server的實(shí)現(xiàn)方法
前言
對(duì)于專業(yè)的程序員來(lái)說(shuō),C#連接SqlServer進(jìn)行新增、修改、查詢哪簡(jiǎn)直就是小菜一碟,信手拈來(lái) ,但對(duì)剛?cè)腴T(mén)孩童們就不是哪么一回事了,有時(shí)一個(gè)代碼出錯(cuò)就折騰好幾天,所以下面這篇文章就來(lái)給大家介紹下C#連接SQL Server的相關(guān)內(nèi)容。
C# 用 Connection 連接數(shù)據(jù)庫(kù),一般在連接字符串里需要指定要連接數(shù)據(jù)源的種類(lèi)、數(shù)據(jù)庫(kù)服務(wù)器的名稱、數(shù)據(jù)庫(kù)名稱、登陸用戶名、密碼、等待連接時(shí)間、安全驗(yàn)證設(shè)置等參數(shù)信息,這些參數(shù)之間用分號(hào)隔開(kāi)。下面將詳細(xì)描述這些常用參數(shù)的使用方法。
1. Provider 參數(shù)
Provider 參數(shù)用來(lái)指定要連接數(shù)據(jù)源的種類(lèi)。如果使用的是 SQL Server Data Provider,則不需要指定 Provider 參數(shù),因?yàn)?SQL Server Data Provider 已經(jīng)指定了所要連接的數(shù)據(jù)源是 SQL Server 服務(wù)器。如果要使用的是 OLE DB Provider 或其他連接數(shù)據(jù)庫(kù),則必須指定 Provider 參數(shù)
2. Server 參數(shù)
Server 參數(shù)用來(lái)指定需要連接的數(shù)據(jù)庫(kù)服務(wù)器(或數(shù)據(jù)域)。例如,Server=(local)
指定連接的數(shù)據(jù)庫(kù)服務(wù)器是本地的。另外,如果連接的是遠(yuǎn)端的數(shù)據(jù)庫(kù)服務(wù)器,則 Server 參數(shù)可以寫(xiě)成 Server=IP
或 Server="遠(yuǎn)程計(jì)算機(jī)名"的形式。Server 參數(shù)也可以寫(xiě)成Data Source
,如:Data Source=IP
。例如:
server=(local); Initial Catalog=student; user Id=sa; password=; Data source=(local); Initial Catalog=student; user Id=sa; password=;
3. DataBase 參數(shù)
DataBase 參數(shù)用來(lái)指定連接數(shù)據(jù)庫(kù)名,如:DataBase=Master
,說(shuō)明連接的數(shù)據(jù)庫(kù)是 Master。DataBase 參數(shù)也可以寫(xiě)成 Initial catalog,如:Initial catalog=Master
。
4. Uid 參數(shù)和 Pwd 參數(shù)
Uid 參數(shù)用來(lái)指定登錄數(shù)據(jù)源的用戶名,也可以寫(xiě)成 user ID
Pwd 參數(shù)用來(lái)指定連接數(shù)據(jù)庫(kù)的密碼,也可以寫(xiě)成 password
5. Connect Timeout 參數(shù)
Connect Timeout 參數(shù)用于指定打開(kāi)數(shù)據(jù)庫(kù)時(shí)的最大等待時(shí)間,單位是秒。如果不設(shè)置此參數(shù),則默認(rèn)為15秒。如果設(shè)置成-1,表示無(wú)限等待
6. Integrated Security 參數(shù)
Integrated Security 參數(shù)用來(lái)說(shuō)明登錄到數(shù)據(jù)源時(shí)是否使用SQL Server的集成安全驗(yàn)證。如果為 True,則使用 Windows 身份驗(yàn)證模式
Data Source=(local); Initial catalog=student; Integrated Security=SSPI;
下面是一個(gè)代碼實(shí)例:
private void BindStudent() { // strCon 為連接字符串 string strCon = @"data source=(local);initial catalog=DRUGS;integrated security=true"; using (SqlConnection con = new SqlConnection(strCon)) { con.Open(); if (con.State == ConnectionState.Open) { string strCmd = "select * from alldrugs"; SqlDataAdapter da = new SqlDataAdapter(strCmd, strCon); //創(chuàng)建一個(gè)dataset接收da申請(qǐng)下來(lái)的數(shù)據(jù) DataSet ds = new DataSet(); da.Fill(ds); //創(chuàng)建三個(gè)空的table,分別接收ds中的0-29,30-59,60-89條數(shù)據(jù) DataTable table1 = new DataTable(); DataTable table2 = new DataTable(); DataTable table3 = new DataTable(); table1 = ds.Tables[0].Clone();//克隆表的結(jié)構(gòu)傳遞給table1 table2 = ds.Tables[0].Clone();//克隆表的結(jié)構(gòu)傳遞給table2 table3 = ds.Tables[0].Clone();//克隆表的結(jié)構(gòu)傳遞給table3 for (int i = 0; i < 90; i++) { DataRow dr = ds.Tables[0].Rows[i]; if (i < 30) { table1.Rows.Add(dr.ItemArray); } else if (i >= 30 && i < 60) { table2.Rows.Add(dr.ItemArray); } else if (i >= 60 && i < 90) { table3.Rows.Add(dr.ItemArray); } else { break; } } this.Repeater1.DataSource = table1; this.Repeater1.DataBind(); this.Repeater2.DataSource = table2; this.Repeater2.DataBind(); this.Repeater3.DataSource = table3; this.Repeater3.DataBind(); } } }
別忘了在使用 SqlConnection 之前要導(dǎo)入命名空間
using System.Data; using System.Data.SqlClient;
最后說(shuō)一下為什么要使用 using()
這種方式來(lái)連接數(shù)據(jù)庫(kù)并進(jìn)行相關(guān)的操作,是因?yàn)槭褂?using 會(huì)自動(dòng)幫我們關(guān)閉掉數(shù)據(jù)庫(kù)連接。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- c#連接sqlserver數(shù)據(jù)庫(kù)、插入數(shù)據(jù)、從數(shù)據(jù)庫(kù)獲取時(shí)間示例
- C#實(shí)現(xiàn)連接SQL Server2012數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句的方法
- C#編程實(shí)現(xiàn)連接SQL SERVER數(shù)據(jù)庫(kù)實(shí)例詳解
- C#連接到sql server2008數(shù)據(jù)庫(kù)的實(shí)例代碼
- C#使用SqlConnection連接到SQL Server的代碼示例
- C#實(shí)現(xiàn)異步連接Sql Server數(shù)據(jù)庫(kù)的方法
- 關(guān)于C#連接SQL Server時(shí)提示用戶登錄失敗的解決方法
- C#連接SQL Server數(shù)據(jù)庫(kù)的實(shí)例講解
- 使用C#連接SQL?Server的詳細(xì)圖文教程
- C#連接SQL?Sever數(shù)據(jù)庫(kù)詳細(xì)圖文教程
相關(guān)文章
c# 使用谷歌身份驗(yàn)證GoogleAuthenticator的示例
這篇文章主要介紹了c# 使用谷歌身份驗(yàn)證GoogleAuthenticator的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01C#實(shí)現(xiàn)實(shí)體類(lèi)與字符串互相轉(zhuǎn)換的方法
這篇文章主要介紹了C#實(shí)現(xiàn)實(shí)體類(lèi)與字符串互相轉(zhuǎn)換的方法,涉及C#字符串及對(duì)象的相互轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C# XML基礎(chǔ)入門(mén)小結(jié)(XML文件內(nèi)容增刪改查清)
本文主要介紹了C# XML基礎(chǔ)入門(mén)小結(jié)(XML文件內(nèi)容增刪改查清),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04c#靜態(tài)方法和非靜態(tài)方法詳細(xì)介紹
這篇文章主要介紹了c#靜態(tài)方法和非靜態(tài)方法,需要的朋友可以參考下2014-02-02c#之獲取本機(jī)主機(jī)名的四種方式總結(jié)
這篇文章主要介紹了c#之獲取本機(jī)主機(jī)名的四種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07