.NET 幫助

MySqlclient C#(開發人員如何使用)

數據報告和可視化是現今軟體環境中許多應用程式的重要組成部分,提供用戶行為、性能指標以及業務關鍵績效指標 (KPI) 的見解。MySqlClient 是一個用於 .NET 的 MySql 庫,它讓開發人員能夠輕鬆地連接 MySql 數據庫,這些數據庫經常用於在線應用程式中的數據存儲與管理。

相反,IronPDF 是一個受歡迎的 .NET 函式庫,用於創建和修改 PDF 文件。 IronPDF 是一個有用的解決方案,用於數據報告和文件生成工作,因為它允許開發人員直接在他們的 .NET 應用程式中創建動態的 PDF 報告、發票、報表等。

在本文中,我們探討了將MySqlClientIronPDF整合,以便在.NET應用程式中實現高效的數據報告。 透過結合這些技術,開發人員可以簡化從 MySql 數據庫查詢數據及生成視覺美觀的 PDF 報告的過程,從而使用戶能夠根據數據驅動的洞察做出明智的決策。

如何使用MySqlClient

  1. Visual Studio中創建一個新的 C# 專案。

  2. 從NuGet安裝MySqlClient庫。

  3. 開啟與 MySql 資料庫的連接。

  4. 執行查詢並取得結果。

  5. 處理資料並關閉物件。

MySqlClient 介紹

開發 .NET 應用程式需要使用 MySqlClient,尤其是在處理 MySql 資料庫時。 它通過在應用程式代碼與 MySql 資料庫伺服器之間充當橋樑,促進各種資料庫活動的無縫執行。 這涵蓋執行 SQL 查詢、獲取信息、編輯資料庫項目以及維護資料庫連接。 MySql Python 也可用,這使我們可以在虛擬環境中安裝它們。

MySqlClient 的優勢

資料庫連接:從 .NET 程式中,MySqlClient 提供類別和方法,用於連接到 MySql 資料庫伺服器。 要建立連線,開發者可以提供連線詳細資訊,例如資料庫名稱、登入、密碼和伺服器位址。

SQL 運算: 使用 MySqlClient,開發者可以在建立連接後立即對 MySql 資料庫執行 SQL 查詢。 這涵蓋了使用 SELECT 查詢檢索數據,以及使用 INSERT、UPDATE、DELETE 和其他數據操作查詢更改數據庫記錄。

防止 SQL 攻擊: 透過 MySqlClient 支援參數化查詢,可以避免 SQL 注入攻擊並實現安全參數傳遞至 SQL 查詢。 因為參數化查詢將 SQL 功能與用戶輸入隔離開來,因此安全性得到了提高。

使用 MySqlClient 在 C# 中,您可能會在安裝或依賴解析過程中遇到 "Failed building wheel for MySqlClient" 等錯誤,這是一個指出 MySqlClient 套件或其依賴項可能存在問題的錯誤。 如果成功,該庫將被保存到程式檔案位置。

開始使用MySqlClient

在 Visual Studio 中建立新專案

要開啟 Visual Studio 應用程式,請選擇檔案選單。 在選擇「新專案」後,選擇「主控台應用程式」。

MySqlClient C#(開發人員如何使用):圖 1 - Visual Studio 應用程式頁面:選擇「新專案」- 選擇「控制台應用程式」

選擇檔案位置後,在指定的文字欄位中輸入專案名稱。 接下來,選擇所需的 .NET Framework 後,點擊創建按鈕,如下示例所示。

![MySqlClient C#(它如何為開發人員工作):圖 2 - 接下來,透過指定所需的專案名稱和資料夾路徑位置來配置您的專案。 選擇與您的專案相對應的 .NET Framework,然後點擊「Create」按鈕。

Visual Studio 專案的組織將取決於所選的應用程式。 要將程式碼新增到應用程式並建置它,只需打開 program.cs 文件。您有三個選項:線上應用程式、控制台或 Windows。

然後可以加入該庫並測試程式碼。

在C#項目中安裝MySqlClient

將 MySqlClient 整合到 C# 項目中很簡單。 要安裝 MySql.Data 套件,必須使用 Microsoft 的 .NET 套件管理器 NuGet。 此套件提供將 MySqlClient 整合到您的應用程式中所需的工具和資源。

MySqlClient C#(開發人員如何運作):圖 3 - 使用 NuGet 套件管理器為解決方案管理套件來搜索 MySql.Data ,然後選擇專案並點擊安裝按鈕以安裝 MySql.Data。

實現 MySqlClient 在 .NET 應用程式中

幾種 .NET 應用程式類型,如 Windows Forms (WinForms) 和 Windows Console,與 MySqlClient 相容。 任何框架背後的基本理念,儘管在實現上有所不同,始終如一:使用您的應用程式進行不同類型的資料庫操作。

使用 MySqlClient 操作的基本範例

在與 MySql 數據庫交互之前,請先使用 MySqlClient 建立連接。 接下來,執行 SQL 查詢以從 MySql 中檢索數據。 用於執行 SQL 查詢的一個工具是 MySqlCommand。

using MySql.Data.MySqlClient;
using System.Text;
class Program
{
    static void Main(string[] args)
    {
        try
        {
            // my sql client connection string
            string connString = "server=myServerAddress;user=myUsername;Password=myPassword;Database=myDatabase";
            // Create connection object
            MySqlConnection conn = new MySqlConnection(connString);
            // Open the connection
            conn.Open();
            // SQL query
            string sql = "SELECT * FROM myTable";
            // Create MySqlCommand
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            // Execute the command and retrieve data
            MySqlDataReader reader = cmd.ExecuteReader();
            // Loop through the retrieved data
            while (await reader.ReadAsync())
            {
                // Retrieve data from the data reader
                string name = reader["Name"].ToString();
                int age = Convert.ToInt32(reader["Age"]);
                Console.WriteLine($"Name: {name}, Age: {age}");
            }
            // Close the connection when done
            conn.Close();
            // exit status
        }
        catch (Exception ex)
        {
            // mysqlclient failed message here
            Console.WriteLine(ex.ToString());
            // console the error message
        }
        // exit code
    }
}
using MySql.Data.MySqlClient;
using System.Text;
class Program
{
    static void Main(string[] args)
    {
        try
        {
            // my sql client connection string
            string connString = "server=myServerAddress;user=myUsername;Password=myPassword;Database=myDatabase";
            // Create connection object
            MySqlConnection conn = new MySqlConnection(connString);
            // Open the connection
            conn.Open();
            // SQL query
            string sql = "SELECT * FROM myTable";
            // Create MySqlCommand
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            // Execute the command and retrieve data
            MySqlDataReader reader = cmd.ExecuteReader();
            // Loop through the retrieved data
            while (await reader.ReadAsync())
            {
                // Retrieve data from the data reader
                string name = reader["Name"].ToString();
                int age = Convert.ToInt32(reader["Age"]);
                Console.WriteLine($"Name: {name}, Age: {age}");
            }
            // Close the connection when done
            conn.Close();
            // exit status
        }
        catch (Exception ex)
        {
            // mysqlclient failed message here
            Console.WriteLine(ex.ToString());
            // console the error message
        }
        // exit code
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上述程式碼片段使用 MySqlClient 從 MySql 資料庫檢索數據,並在控制台上顯示。 查詢結果顯示在下圖中。

MySqlClient C#(它如何為開發人員工作):圖 4 - 使用 MySqlClient 套件在 .NET 專案中顯示來自 MySQL 資料庫的名稱和年齡的控制台輸出

MySqlClient 操作與 MySql

使用 MySql 的參數化查詢

參數化查詢通過允許資料庫伺服器快取查詢計劃來提高查詢性能並降低 SQL 注入攻擊的風險。 MySqlClient 提供部分查詢支援。 此外,參數化查詢使得以安全和高效的方式處理動態 SQL 查詢更加容易。

使用 MySql 進行批量操作

MySqlClient 支援批量插入、更新和刪除操作,這些操作在處理大型數據集時可以顯著提高速度。 當多個行可以在單一資料庫交易中處理時,批量操作可減少與資料庫伺服器進行單獨往返的開銷。

處理交易

如果您的操作需要多個 SQL 語句作為單一協調實體來執行,您可以利用交易。

與 MySql 資料庫連接

只需以下幾行代碼,MySqlClient 就可以幫助您連接到 MySql 資料庫伺服器。

MySqlConnection conn = new MySqlConnection(connString);
MySqlConnection conn = new MySqlConnection(connString);
Dim conn As New MySqlConnection(connString)
$vbLabelText   $csharpLabel

上述程式碼幫助我們連接到 MySql 伺服器。

將 MySqlClient 與 IronPDF 整合

將 MySqlClient 與 IronPDF 一起使用

結合IronPDFMySqlClient在 C# 項目中開啟了令人振奮的新可能性。 IronPDF 是將此內容轉換為 PDF 的極佳工具,即使 MySqlClient 是與 MySql 互動的超棒工具。 正因為這種連接性,程序員可以創建能夠與數據庫互動並從這些內容生成PDF的應用程式。

IronPDF 在HTML 到 PDF轉換中表現優異,確保精確保留原始佈局和樣式。 它非常適合從基於網絡的內容(如報告、發票和文檔)創建PDF。 IronPDF 支援 HTML 檔案、URL 和原始 HTML 字串,輕鬆製作高品質的 PDF 文件。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

使用 IronPDF 獲取 MySql 數據

您可以使用 MySqlClient 創建 Windows 控制台應用程式,讓使用者與您的應用程式中的數據庫互動。 首先,授予應用程式資料庫存取權限。 此控制項應適合在控制台上顯示,並保留足夠的空間供資料庫互動使用。 添加批量操作和資料類型映射。

安裝 IronPDF

  • 啟動 Visual Studio 專案。
  • 選擇「工具」>「NuGet 套件管理器」>「套件管理器主控台」。

    • 在套件管理器控制台中輸入以下命令,然後按 Enter 鍵:
    :ProductInstall
    :ProductInstall
SHELL
  • 或者您可以使用 NuGet 套件管理器為解決方案安裝 IronPDF。

    • 在搜尋結果中瀏覽 IronPDF 套件,選擇它,然後點擊「安裝」按鈕。 Visual Studio 將自動處理下載和安裝。

    MySqlClient C#(它是如何為開發人員工作的):圖5 - 使用方案的管理 NuGet 套件安裝 IronPDF,通過在 NuGet 套件管理器的搜索欄中搜尋 IronPdf,然後選擇專案並點擊安裝按鈕。

  • NuGet 會下載並安裝 IronPDF 套件及您的專案所需的任何相依性。
  • 安裝完成後,IronPDF 可以用於您的專案。

通過NuGet網站安裝

請訪問 NuGet 上的 IronPDF 頁面 以了解更多有關 IronPDF 的功能、相容性和其他下載選項的資訊。

利用 DLL 進行安裝

或者,您可以通過使用其 DLL 文件直接將 IronPDF 合併到您的專案中。下載包含 DLL 的 ZIP 文件。 一旦解壓縮後,將 DLL 包含到您的專案中。

實施邏輯

  • 建立連接:首先使用MySqlClient與您的 MySQL 資料庫建立連接。 初始化一個 MySqlConnection 物件,並提供包含伺服器地址、資料庫名稱、使用者名稱和密碼等詳細資訊的必要連接字串。
  • 執行查詢:可以使用MySQLClient在您的MySql資料庫上執行SQL查詢。 使用MySqlCommand支援SQL語句的準備和執行。要運行SELECT查詢並獲取數據,請使用MySqlCommandExecuteReader()。 使用ExecuteNonQuery()來執行非查詢語句,例如INSERT、UPDATE、DELETE等。
  • 檢索資料:一旦使用MySqlClient從 MySql 檢索資料後,您可以利用 IronPDF 動態生成 PDF 報告。 IronPDF 提供創建 PDF 文件的功能,可添加文本、圖片和表格等內容,並將生成的 PDF 文件保存到磁碟或記憶體流。
  • 生成報告:自訂由 IronPDF 生成的 PDF 報告程式文件的外觀和佈局,以滿足您自己的檔案或應用程式的特定需求。 您可以使用CSS樣式、HTML模板和IronPDF的API為您的PDF文檔添加頁眉、頁腳、頁碼和其他元素。
static void Main(string[] args)
    {
        StringBuilder sb = new StringBuilder();
        var Renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer
        sb.Append("<h1>Dynamic PDF Generated from MySqlClient Data</h1>");
        //sqlclient connection and command code here
        while (await reader.ReadAsync())
        {
            // Retrieve data from the data reader
            string name = reader["Name"].ToString();
            int age = Convert.ToInt32(reader["Age"]);
            // Add data to the PDF
            sb.Append($"<p>Name: {name}, Age: {age}</p>");
        }
        var pdf = Renderer.RenderHtmlAsPdf(sb.ToString());
        // Save the PDF document
        pdf.SaveAs("output.pdf");
        // Close the connection when done
        conn.Close();
    }
static void Main(string[] args)
    {
        StringBuilder sb = new StringBuilder();
        var Renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer
        sb.Append("<h1>Dynamic PDF Generated from MySqlClient Data</h1>");
        //sqlclient connection and command code here
        while (await reader.ReadAsync())
        {
            // Retrieve data from the data reader
            string name = reader["Name"].ToString();
            int age = Convert.ToInt32(reader["Age"]);
            // Add data to the PDF
            sb.Append($"<p>Name: {name}, Age: {age}</p>");
        }
        var pdf = Renderer.RenderHtmlAsPdf(sb.ToString());
        // Save the PDF document
        pdf.SaveAs("output.pdf");
        // Close the connection when done
        conn.Close();
    }
Shared Sub Main(ByVal args() As String)
		Dim sb As New StringBuilder()
		Dim Renderer = New ChromePdfRenderer() ' Instantiates Chrome Renderer
		sb.Append("<h1>Dynamic PDF Generated from MySqlClient Data</h1>")
		'sqlclient connection and command code here
		Do While Await reader.ReadAsync()
			' Retrieve data from the data reader
			Dim name As String = reader("Name").ToString()
			Dim age As Integer = Convert.ToInt32(reader("Age"))
			' Add data to the PDF
			sb.Append($"<p>Name: {name}, Age: {age}</p>")
		Loop
		Dim pdf = Renderer.RenderHtmlAsPdf(sb.ToString())
		' Save the PDF document
		pdf.SaveAs("output.pdf")
		' Close the connection when done
		conn.Close()
End Sub
$vbLabelText   $csharpLabel

以下是從上述程式碼生成的報告。

MySqlClient C#(對於開發人員如何運作):圖 6 - 使用 MySqlClient 和 IronPDF 從 MySql 數據庫資料生成的輸出 PDF。

若要了解更多關於IronPDF代碼的資訊,請參閱此IronPDF代碼範例頁面

結論

IronPDFMySqlClient 的連接為 .NET 應用程式中的有效數據報告提供了一個強大的選擇。 透過使用 IronPDF 來創建美觀的 PDF 報告和 MySQLClient 從 MySql 資料庫查詢數據,開發人員可以加快數據可視化和報告的過程,向用戶提供有洞察力的信息。

在 .NET 應用程式中訪問 MySql 資料庫時,MySqlClient 提供了一個強大的基礎,具有廣泛的工具可以查詢、修改和管理資料。 當結合IronPDF生成動態且可配置的PDF報告的能力時,開發人員可以生成看起來專業且量身定制以滿足客戶與應用需求的報告。

Lite 套裝中包含了永久授權、一年軟體維護以及庫升級。 IronPDF 提供免費許可以進一步了解成本和許可。 如需了解 Iron Software 提供的其他軟體產品,請瀏覽 Iron Software products

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
C# 記錄與類別 (開發人員運作方式)
下一個 >
TCP .NET(如何為開發人員工作)