在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
DuckDB.NET是一個開源提供者,提供 DuckDB 原生庫的 .NET 綁定,旨在與 C# 無縫集成。 它提供了一個 ADO.NET 提供者,讓在 .NET 應用程式中使用 DuckDB 這個低階綁定庫變得簡單。 此套件非常適合希望在 C# 環境中利用 DuckDB 強大分析能力的開發人員。
安裝 DuckDB.NET 很簡單。 您可以使用 .NET CLI 將其添加到您的專案中:
dotnet add package DuckDB.NET.Data.Full
dotnet add package DuckDB.NET.Data.Full
IRON VB CONVERTER ERROR developers@ironsoftware.com
或者,您可以通過 Visual Studio 中的 NuGet 套件管理器安裝它。
安裝完成後,您可以開始在 C# 應用程式中使用 DuckDB.NET 執行 SQL 查詢。 以下是一個簡單的例子:
using System;
using DuckDB.NET.Data;
class Program
{
static void Main()
{
using var duckdbconnection = new DuckDBConnection("Data Source=:memory:");
duckdbconnection.Open();
using var command = duckdbconnection.CreateCommand();
command.CommandText = "CREATE TABLE integers(foo INTEGER, bar INTEGER);";
command.ExecuteNonQuery();
command.CommandText = "INSERT INTO integers VALUES (3, 4), (5, 6), (7, 8);";
command.ExecuteNonQuery();
command.CommandText = "Select count(*) from integers";
var executeScalar = command.ExecuteScalar();
command.CommandText = "SELECT foo, bar FROM integers;";
using var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"{reader.GetInt32(0)}, {reader.GetInt32(1)}");
}
}
}
using System;
using DuckDB.NET.Data;
class Program
{
static void Main()
{
using var duckdbconnection = new DuckDBConnection("Data Source=:memory:");
duckdbconnection.Open();
using var command = duckdbconnection.CreateCommand();
command.CommandText = "CREATE TABLE integers(foo INTEGER, bar INTEGER);";
command.ExecuteNonQuery();
command.CommandText = "INSERT INTO integers VALUES (3, 4), (5, 6), (7, 8);";
command.ExecuteNonQuery();
command.CommandText = "Select count(*) from integers";
var executeScalar = command.ExecuteScalar();
command.CommandText = "SELECT foo, bar FROM integers;";
using var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"{reader.GetInt32(0)}, {reader.GetInt32(1)}");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
此範例演示如何使用DuckDB.NET創建表格、插入資料並查詢資料。
DuckDB.NET 支援從各種格式讀取數據,包括 CSV 和 Parquet 文件。 以下是從 CSV 文件讀取數據的方法:
command.CommandText = "COPY integers FROM 'example.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
command.CommandText = "COPY integers FROM 'example.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
IRON VB CONVERTER ERROR developers@ironsoftware.com
DuckDB.NET 也可以與數據框整合,允許您使用熟悉的 SQL 語法來操作數據。 這對於數據分析任務特別有用。
您可以將查詢結果轉換為各種格式,例如列表或自定義對象,使您能夠輕鬆地在應用程式中處理資料:
var results = new List<(int foo, int bar)>();
while (reader.Read())
{
results.Add((reader.GetInt32(0), reader.GetInt32(1)));
// can also use for with var index and iterate the results
}
var results = new List<(int foo, int bar)>();
while (reader.Read())
{
results.Add((reader.GetInt32(0), reader.GetInt32(1)));
// can also use for with var index and iterate the results
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
DuckDB.NET 支援以多種格式將資料寫入磁碟。 您可以使用 COPY 語句將資料匯出到 CSV 文件:
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
IRON VB CONVERTER ERROR developers@ironsoftware.com
IronPDF是一個C# PDF庫,允許在.NET專案中生成、管理和提取PDF文件中的內容。 以下是一些主要功能:
HTML 轉換為 PDF:
將 HTML、CSS 和 JavaScript 內容轉換為 PDF。
用於像素完美PDF文件的Chrome渲染引擎。
圖片和內容轉換:
將圖像轉換為 PDF 文件,或從 PDF 文件轉換圖像。
從現有的 PDF 文件中提取文字和圖片。
編輯和操作:
設定 PDF 文件的屬性、安全性和權限。
將數位簽名添加到 PDF。
跨平台支持:
適用於 .NET Core(8, 7, 6, 5, 和 3.1+).NET 標準(2.0+),和 .NET Framework(4.6.2+).
兼容 Windows、Linux 和 macOS。
首先,使用 Visual Studio 創建一個主控台應用程式,如下所示。
提供專案名稱。
提供 .NET 版本。
安裝 IronPDF 套件。
安裝DuckDB.NET套件。
using DuckDB.NET.Data;
namespace CodeSample
{
public static class DuckDbDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo DuckDb and IronPDF</h1>";
content += "<h2>Create DuckDBConnection</h2>";
content += "<p>new DuckDBConnection(\"Data Source=:memory:\");</p>";
content += "<p></p>";
using var connection = new DuckDBConnection("Data Source=:memory:");
connection.Open();
using var command = connection.CreateCommand();
command.CommandText = "CREATE TABLE integers(book STRING, cost INTEGER);";
command.ExecuteNonQuery();
content += "<p>CREATE TABLE integers(book STRING, cost INTEGER);</p>";
command.CommandText = "INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);";
command.ExecuteNonQuery();
content += "<p>INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);</p>";
command.CommandText = "SELECT book, cost FROM integers;";
using var reader = command.ExecuteReader();
content += "<p>SELECT book, cost FROM integers;</p>";
while (reader.Read())
{
content += $"<p>{reader.GetString(0)}, {reader.GetInt32(1)}</p>";
Console.WriteLine($"{reader.GetString(0)}, {reader.GetInt32(1)}");
}
content += "<p>Save data to CSV with COPY integers TO 'output.csv' (FORMAT CSV);</p>";
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeDuckDbNet.pdf");
}
}
}
using DuckDB.NET.Data;
namespace CodeSample
{
public static class DuckDbDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo DuckDb and IronPDF</h1>";
content += "<h2>Create DuckDBConnection</h2>";
content += "<p>new DuckDBConnection(\"Data Source=:memory:\");</p>";
content += "<p></p>";
using var connection = new DuckDBConnection("Data Source=:memory:");
connection.Open();
using var command = connection.CreateCommand();
command.CommandText = "CREATE TABLE integers(book STRING, cost INTEGER);";
command.ExecuteNonQuery();
content += "<p>CREATE TABLE integers(book STRING, cost INTEGER);</p>";
command.CommandText = "INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);";
command.ExecuteNonQuery();
content += "<p>INSERT INTO integers VALUES ('book1', 25), ('book2', 30), ('book3', 10);</p>";
command.CommandText = "SELECT book, cost FROM integers;";
using var reader = command.ExecuteReader();
content += "<p>SELECT book, cost FROM integers;</p>";
while (reader.Read())
{
content += $"<p>{reader.GetString(0)}, {reader.GetInt32(1)}</p>";
Console.WriteLine($"{reader.GetString(0)}, {reader.GetInt32(1)}");
}
content += "<p>Save data to CSV with COPY integers TO 'output.csv' (FORMAT CSV);</p>";
command.CommandText = "COPY integers TO 'output.csv' (FORMAT CSV);";
command.ExecuteNonQuery();
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeDuckDbNet.pdf");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
這段程式碼展示了如何使用 DuckDB.NET 進行資料庫操作,並使用 IronPDF 生成包含資料庫查詢結果的 PDF 報告。
DuckDB.NET:
資料庫操作:
表格創建:定義一條 SQL 命令(創建表 integers(書籍 STRING,成本 INTEGER);)建立一個名為integers的表格,包含book列(字符串)和 var column cost(整數).
資料插入:將行插入整數表中(插入進 integers 值('書本1', 25), ('book2', 30), ('book3', 10);).
使用 IronPDF 生成 PDF:
將 HTML 渲染為 PDF:使用 IronPDF 的 ChromePdfRenderer 將 HTML 內容轉換為 PDF(內容)轉換成 PDF 文件(PDF).
IronPDF 套件需要許可證才能運行。 在訪問包之前,請在應用程式的開頭新增以下代碼。
IronPdf.License.LicenseKey = "IRONPDF-KEY";
IronPdf.License.LicenseKey = "IRONPDF-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
試用許可證可在IronPDF 的試用授權頁面.
DuckDB.NET C# 套件是一個強大的工具,可以將 DuckDB 的分析能力整合到 .NET 應用程式中。 它易於使用,支持多種數據格式,並且能流暢地與 C# 集成,使其成為開發數據密集型應用程式的開發人員的絕佳選擇。 無論您是在構建數據分析工具、ETL 管道還是其他數據驅動應用程式,DuckDB.NET 都能幫助您高效達成目標。