C#使用Winform連接SQL Server數(shù)據(jù)庫的詳細(xì)步驟
一. 在 WinForms 應(yīng)用程序中連接 SQL Server,可以按照以下步驟進(jìn)行:
1.創(chuàng)建連接字符串
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
若server=. 則代表當(dāng)前使用的計算機(jī)(本機(jī))
2.使用SqlConnection類創(chuàng)建數(shù)據(jù)庫連接并打開
//創(chuàng)建連接 SqlConnection conn = new SqlConnection(strConn); //打開數(shù)據(jù)庫連接 conn.Open();
后面可加一個MessageBox.Show("數(shù)據(jù)庫連接成功"); 用于檢驗數(shù)據(jù)庫是否連接成功
3.SqlCommand類:允許對數(shù)據(jù)庫表做增刪改查等操作
需要兩個參數(shù),第一個參數(shù): sql語句 第二個參數(shù):SqlConnection對象
string sql = "select * from CrabBox"; SqlCommand cmd = new SqlCommand(sql,conn);
4.SqlDataReader類:獲取查詢返回的結(jié)果集
SqlDataReader sdr = cmd.ExecuteReader(); //通過while循環(huán)獲取sdr里面的數(shù)據(jù) while (sdr.Read()) { //讀取數(shù)據(jù)庫表的數(shù)據(jù) //MessageBox.Show("蟹盒ID:" + sdr["BoxID"]); //將數(shù)據(jù)庫讀取出來的內(nèi)容顯示在label標(biāo)簽中 label1.Text = label1.Text + "\n" +"蟹盒ID:" + sdr["BoxID"]; }
說明:sdr[""]里面為數(shù)據(jù)庫表的列名,代碼運(yùn)行結(jié)果為顯示數(shù)據(jù)庫表中某一列的數(shù)據(jù)
給出了兩種顯示例子,一種為MessageBox.Show,以彈框的形式顯示;另一種為在label組件中顯示;都是比較簡單的例子。
5.讀取完數(shù)據(jù)后關(guān)閉connection的連接
conn.Close();
二. 如果連接數(shù)據(jù)庫時出現(xiàn)“登錄失敗”的異常
假設(shè)使用的用戶名為sa,
1.通常原因
錯誤的用戶名或密碼:確認(rèn)你使用的
sa
用戶名和密碼是否正確。可以嘗試重新輸入密碼或檢查連接字符串中的用戶憑據(jù)。SQL Server 服務(wù)未啟動:確保 SQL Server 實(shí)例正在運(yùn)行。可以通過 SQL Server Management Studio (SSMS) 或服務(wù)管理器檢查 SQL Server 服務(wù)的狀態(tài)。
SQL Server 配置問題:檢查 SQL Server 是否允許
sa
用戶進(jìn)行登錄。確保 SQL Server 配置允許 SQL Server 身份驗證模式(而不是僅 Windows 身份驗證模式)。SQL Server 實(shí)例名稱或連接字符串錯誤:確認(rèn)你在連接字符串中指定的 SQL Server 實(shí)例名稱是正確的??赡苄枰▽?shí)例名稱或使用正確的服務(wù)器地址。
網(wǎng)絡(luò)問題:如果 SQL Server 是遠(yuǎn)程實(shí)例,確保網(wǎng)絡(luò)連接正常,沒有防火墻阻擋連接。
賬戶被禁用:檢查
sa
用戶是否被禁用。可以通過 SQL Server Management Studio 連接到數(shù)據(jù)庫,然后檢查 SQL Server 的安全設(shè)置。
2.解決步驟
驗證連接字符串: 確保你的連接字符串正確
檢查 SQL Server 服務(wù):
- 打開 SQL Server Configuration Manager,確保 SQL Server 服務(wù)正在運(yùn)行。
- 如果 SQL Server 實(shí)例未運(yùn)行,嘗試啟動它。
檢查身份驗證模式:
- 使用 SQL Server Management Studio 連接到數(shù)據(jù)庫。
- 右鍵點(diǎn)擊服務(wù)器,選擇“屬性”。
- 轉(zhuǎn)到“安全性”頁,確保“SQL Server 和 Windows 身份驗證模式”被選中。
檢查
sa
用戶:- 在 SQL Server Management Studio 中,展開“安全性”文件夾,選擇“登錄名”。
- 找到
sa
用戶,右鍵點(diǎn)擊并選擇“屬性”。 - 確保
sa
用戶沒有被禁用,并且密碼正確。
網(wǎng)絡(luò)和防火墻設(shè)置:
- 如果 SQL Server 是遠(yuǎn)程的,確保網(wǎng)絡(luò)設(shè)置允許連接,并且沒有防火墻阻止 SQL Server 端口(默認(rèn)為 1433)。
三. 在DataGridView表格容器控件中顯示數(shù)據(jù)庫中表的數(shù)據(jù)
1.使用SqlDataAdapter類
簡單示例代碼(窗體中需要有一個Button和DataGridView控件):
private void button2_Click(object sender, EventArgs e) { string strConn = "server=.;database=CrabFarmDB;User ID=sa;Password=admin123"; SqlConnection conn = new SqlConnection(strConn); conn.Open(); MessageBox.Show("數(shù)據(jù)庫連接成功"); string sql = "select * from CrabBox"; //在這里操作gridview //這里傳入的strConn相當(dāng)于數(shù)據(jù)源與sql數(shù)據(jù)庫之間的一種橋接器 SqlDataAdapter da = new SqlDataAdapter(sql, strConn); DataSet ds = new DataSet();//相當(dāng)于一個數(shù)據(jù)集 //開始加載數(shù)據(jù)源 da.Fill(ds); //開始將數(shù)據(jù)集與我們的grid控件做關(guān)聯(lián) dataGridView1.DataSource = ds.Tables[0]; //讀取完數(shù)據(jù)后關(guān)閉connection的連接 conn.Close(); }
以上就是C#使用Winforms連接SQL Server數(shù)據(jù)庫的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于C# Winforms連接SQL Server的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Unity Undo實(shí)現(xiàn)原理和使用方法詳解
本文將詳細(xì)介紹Unity Undo實(shí)現(xiàn)原理和使用方法,并提供多個使用例子,幫助開發(fā)者更好地理解和應(yīng)用該功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07C#實(shí)現(xiàn)按照指定長度在數(shù)字前補(bǔ)0方法小結(jié)
這篇文章主要介紹了C#實(shí)現(xiàn)按照指定長度在數(shù)字前補(bǔ)0方法,實(shí)例總結(jié)了兩個常用的數(shù)字補(bǔ)0的技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-04-04C# listview 點(diǎn)擊列頭排序的實(shí)例
下面小編就為大家?guī)硪黄狢# listview 點(diǎn)擊列頭排序的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01C#實(shí)現(xiàn)模擬ATM自動取款機(jī)功能
這篇文章介紹了C#實(shí)現(xiàn)模擬ATM自動取款機(jī)功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08基于C#實(shí)現(xiàn)ModbusTCP服務(wù)器接口的方法
ModbusTCP服務(wù)器的本質(zhì)就是TCP服務(wù)器,根據(jù)識別ModbusTCP請求報文,返回對應(yīng)的ModbusTCP報文,今天給大家分享一下,如何基于C#來ModbusTCP服務(wù)器接口,需要的朋友可以參考下2025-01-01C#使用struct類型作為泛型Dictionary<TKey,TValue>的鍵
這篇文章介紹了C#使用struct類型作為泛型Dictionary<TKey,TValue>鍵值的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08C#實(shí)現(xiàn)的簡單整數(shù)四則運(yùn)算計算器功能示例
這篇文章主要介紹了C#實(shí)現(xiàn)的簡單整數(shù)四則運(yùn)算計算器功能,涉及C#界面布局、事件響應(yīng)及數(shù)值運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09