在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
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 套件管理器安裝它。
安裝後,您可以開始使用 DuckDB.NET 在您的 C# 應用程式中執行 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。
Chrome渲染引擎,用於像素完美的PDF文件。
圖像和內容轉換:
將圖片轉換為PDF或從PDF轉換圖片。
從現有的PDF文件中提取文字和圖片。
編輯和操作:
設置PDF文件的屬性、安全性和權限。
為PDF添加數字簽名。
跨平台支援:
支持.NET Core (8, 7, 6, 5, 和 3.1+).NET Standard (2.0+),和 .NET Framework (4.6.2+).
首先,使用 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:
使用 IronPDF 生成 PDF:
IronPDF 套件需要授權才能運行。在訪問套件之前,請在應用程序開始時添加以下代碼。
IronPdf.License.LicenseKey = "IRONPDF-KEY";
IronPdf.License.LicenseKey = "IRONPDF-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
試用許可證可用 這裡.
DuckDB.NET C# 套件是一種強大的工具,可將 DuckDB 的分析能力整合到 .NET 應用程式中。它的易用性、對多種數據格式的支持及與 C# 的無縫整合,使它成為開發者在數據密集型應用程式中的一個絕佳選擇。無論您是在構建數據分析工具、ETL 管道,還是其他數據驅動的應用程式,DuckDB.NET 都能幫助您高效實現目標。