在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
DuckDB.NETDuckDB 是 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 标准(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(字符串)和 变量 column cost(整数).
数据插入:在整数表中插入行(插入到整数值('book1', 25), ('book2', 30), ('book3', 10);).
使用 IronPDF 生成 PDF:
将 HTML 渲染成 PDF:使用 IronPDF 中的 ChromePdfRenderer 转换 HTML 内容(内容)成为 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 都能帮助您高效地实现目标。