C#使用Winform連接SQL Server數(shù)據(jù)庫的詳細步驟
一. 在 WinForms 應(yīng)用程序中連接 SQL Server,可以按照以下步驟進行:
1.創(chuàng)建連接字符串
string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
若server=. 則代表當(dāng)前使用的計算機(本機)
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標簽中
label1.Text = label1.Text + "\n" +"蟹盒ID:" + sdr["BoxID"];
}說明:sdr[""]里面為數(shù)據(jù)庫表的列名,代碼運行結(jié)果為顯示數(shù)據(jù)庫表中某一列的數(shù)據(jù)
給出了兩種顯示例子,一種為MessageBox.Show,以彈框的形式顯示;另一種為在label組件中顯示;都是比較簡單的例子。
5.讀取完數(shù)據(jù)后關(guān)閉connection的連接
conn.Close();
二. 如果連接數(shù)據(jù)庫時出現(xiàn)“登錄失敗”的異常
假設(shè)使用的用戶名為sa,
1.通常原因
錯誤的用戶名或密碼:確認你使用的
sa用戶名和密碼是否正確??梢試L試重新輸入密碼或檢查連接字符串中的用戶憑據(jù)。SQL Server 服務(wù)未啟動:確保 SQL Server 實例正在運行。可以通過 SQL Server Management Studio (SSMS) 或服務(wù)管理器檢查 SQL Server 服務(wù)的狀態(tài)。
SQL Server 配置問題:檢查 SQL Server 是否允許
sa用戶進行登錄。確保 SQL Server 配置允許 SQL Server 身份驗證模式(而不是僅 Windows 身份驗證模式)。SQL Server 實例名稱或連接字符串錯誤:確認你在連接字符串中指定的 SQL Server 實例名稱是正確的。可能需要包括實例名稱或使用正確的服務(wù)器地址。
網(wǎng)絡(luò)問題:如果 SQL Server 是遠程實例,確保網(wǎng)絡(luò)連接正常,沒有防火墻阻擋連接。
賬戶被禁用:檢查
sa用戶是否被禁用??梢酝ㄟ^ SQL Server Management Studio 連接到數(shù)據(jù)庫,然后檢查 SQL Server 的安全設(shè)置。
2.解決步驟
驗證連接字符串: 確保你的連接字符串正確
檢查 SQL Server 服務(wù):
- 打開 SQL Server Configuration Manager,確保 SQL Server 服務(wù)正在運行。
- 如果 SQL Server 實例未運行,嘗試啟動它。
檢查身份驗證模式:
- 使用 SQL Server Management Studio 連接到數(shù)據(jù)庫。
- 右鍵點擊服務(wù)器,選擇“屬性”。
- 轉(zhuǎn)到“安全性”頁,確保“SQL Server 和 Windows 身份驗證模式”被選中。
檢查
sa用戶:- 在 SQL Server Management Studio 中,展開“安全性”文件夾,選擇“登錄名”。
- 找到
sa用戶,右鍵點擊并選擇“屬性”。 - 確保
sa用戶沒有被禁用,并且密碼正確。
網(wǎng)絡(luò)和防火墻設(shè)置:
- 如果 SQL Server 是遠程的,確保網(wǎng)絡(luò)設(shè)置允許連接,并且沒有防火墻阻止 SQL Server 端口(默認為 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ù)庫的詳細步驟的詳細內(nèi)容,更多關(guān)于C# Winforms連接SQL Server的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#實現(xiàn)按照指定長度在數(shù)字前補0方法小結(jié)
這篇文章主要介紹了C#實現(xiàn)按照指定長度在數(shù)字前補0方法,實例總結(jié)了兩個常用的數(shù)字補0的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
基于C#實現(xiàn)ModbusTCP服務(wù)器接口的方法
ModbusTCP服務(wù)器的本質(zhì)就是TCP服務(wù)器,根據(jù)識別ModbusTCP請求報文,返回對應(yīng)的ModbusTCP報文,今天給大家分享一下,如何基于C#來ModbusTCP服務(wù)器接口,需要的朋友可以參考下2025-01-01
C#使用struct類型作為泛型Dictionary<TKey,TValue>的鍵
這篇文章介紹了C#使用struct類型作為泛型Dictionary<TKey,TValue>鍵值的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08
C#實現(xiàn)的簡單整數(shù)四則運算計算器功能示例
這篇文章主要介紹了C#實現(xiàn)的簡單整數(shù)四則運算計算器功能,涉及C#界面布局、事件響應(yīng)及數(shù)值運算等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09

