欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用Winform連接SQL Server數(shù)據(jù)庫的詳細(xì)步驟

 更新時間:2024年09月24日 08:53:42   作者:qq_42772833  
Windows Forms是一個用于構(gòu)建Windows桌面應(yīng)用程序的圖形用戶界面(GUI)庫,它是.NET Framework的一部分,允許開發(fā)者快速創(chuàng)建豐富的交互式界面,本文給大家介紹了C#使用Winforms連接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.通常原因

  1. 錯誤的用戶名或密碼:確認(rèn)你使用的 sa 用戶名和密碼是否正確。可以嘗試重新輸入密碼或檢查連接字符串中的用戶憑據(jù)。

  2. SQL Server 服務(wù)未啟動:確保 SQL Server 實(shí)例正在運(yùn)行。可以通過 SQL Server Management Studio (SSMS) 或服務(wù)管理器檢查 SQL Server 服務(wù)的狀態(tài)。

  3. SQL Server 配置問題:檢查 SQL Server 是否允許 sa 用戶進(jìn)行登錄。確保 SQL Server 配置允許 SQL Server 身份驗證模式(而不是僅 Windows 身份驗證模式)。

  4. SQL Server 實(shí)例名稱或連接字符串錯誤:確認(rèn)你在連接字符串中指定的 SQL Server 實(shí)例名稱是正確的??赡苄枰▽?shí)例名稱或使用正確的服務(wù)器地址。

  5. 網(wǎng)絡(luò)問題:如果 SQL Server 是遠(yuǎn)程實(shí)例,確保網(wǎng)絡(luò)連接正常,沒有防火墻阻擋連接。

  6. 賬戶被禁用:檢查 sa 用戶是否被禁用。可以通過 SQL Server Management Studio 連接到數(shù)據(jù)庫,然后檢查 SQL Server 的安全設(shè)置。

2.解決步驟

  1. 驗證連接字符串: 確保你的連接字符串正確

  2. 檢查 SQL Server 服務(wù)

    • 打開 SQL Server Configuration Manager,確保 SQL Server 服務(wù)正在運(yùn)行。
    • 如果 SQL Server 實(shí)例未運(yùn)行,嘗試啟動它。
  3. 檢查身份驗證模式

    • 使用 SQL Server Management Studio 連接到數(shù)據(jù)庫。
    • 右鍵點(diǎn)擊服務(wù)器,選擇“屬性”。
    • 轉(zhuǎn)到“安全性”頁,確保“SQL Server 和 Windows 身份驗證模式”被選中。
  4. 檢查 sa 用戶

    • 在 SQL Server Management Studio 中,展開“安全性”文件夾,選擇“登錄名”。
    • 找到 sa 用戶,右鍵點(diǎn)擊并選擇“屬性”。
    • 確保 sa 用戶沒有被禁用,并且密碼正確。
  5. 網(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)原理和使用方法詳解

    Unity Undo實(shí)現(xiàn)原理和使用方法詳解

    本文將詳細(xì)介紹Unity Undo實(shí)現(xiàn)原理和使用方法,并提供多個使用例子,幫助開發(fā)者更好地理解和應(yīng)用該功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • C#實(shí)現(xiàn)按照指定長度在數(shù)字前補(bǔ)0方法小結(jié)

    C#實(shí)現(xiàn)按照指定長度在數(shù)字前補(bǔ)0方法小結(jié)

    這篇文章主要介紹了C#實(shí)現(xiàn)按照指定長度在數(shù)字前補(bǔ)0方法,實(shí)例總結(jié)了兩個常用的數(shù)字補(bǔ)0的技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • C#中的多播委托和泛型委托

    C#中的多播委托和泛型委托

    這篇文章介紹了C#中的多播委托和泛型委托,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C# listview 點(diǎn)擊列頭排序的實(shí)例

    C# listview 點(diǎn)擊列頭排序的實(shí)例

    下面小編就為大家?guī)硪黄狢# listview 點(diǎn)擊列頭排序的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C#實(shí)現(xiàn)模擬ATM自動取款機(jī)功能

    C#實(shí)現(xiàn)模擬ATM自動取款機(jī)功能

    這篇文章介紹了C#實(shí)現(xiàn)模擬ATM自動取款機(jī)功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 基于C#實(shí)現(xiàn)ModbusTCP服務(wù)器接口的方法

    基于C#實(shí)現(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>的鍵

    這篇文章介紹了C#使用struct類型作為泛型Dictionary<TKey,TValue>鍵值的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • C#實(shí)現(xiàn)聊天消息渲染與圖文混排詳解

    C#實(shí)現(xiàn)聊天消息渲染與圖文混排詳解

    在實(shí)現(xiàn)聊天軟件時,渲染文字表情圖文混排是一項非常繁瑣的工作,再加上還要支持GIF動圖、引用消息、撤回消息、名片等不同樣式的消息渲染時,就更加麻煩了。本文就來和大家分享一下具體實(shí)現(xiàn)方法,希望對大家有所幫助
    2023-02-02
  • C#實(shí)現(xiàn)的簡單整數(shù)四則運(yùn)算計算器功能示例

    C#實(shí)現(xiàn)的簡單整數(shù)四則運(yùn)算計算器功能示例

    這篇文章主要介紹了C#實(shí)現(xiàn)的簡單整數(shù)四則運(yùn)算計算器功能,涉及C#界面布局、事件響應(yīng)及數(shù)值運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • C#?輸出參數(shù)out問題

    C#?輸出參數(shù)out問題

    這篇文章主要介紹了C#?輸出參數(shù)out問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論