如何使用 C# Firebird 对数据库执行选择查询并将其显示在 shell 中?
Posted
技术标签:
【中文标题】如何使用 C# Firebird 对数据库执行选择查询并将其显示在 shell 中?【英文标题】:How to execute a select query on database using C# Firebird and display it in shell? 【发布时间】:2021-12-01 10:45:31 【问题描述】:我刚开始在 Visual Studio 中学习 C#,我有一个任务要做。我必须连接到 SQL 数据库,执行选择查询并使用 Firebird 显示结果。我已经阅读了很多文章,但我被卡住了,因为每个人都告诉我要做不同的事情。有人可以帮我解释一下这是如何工作的吗?
using System;
using FirebirdSql.Data.FirebirdClient;
namespace ConsoleApp1
class Program
static public void Main()
using (var con = new FbConnection("database=SECRET.FB;user=SYSDBA;password=masterkey;DataSource=sereverip;Port=3050"))
con.Open();
using (var transaction = con.BeginTransaction())
FbCommand result = new FbCommand("SELECT n.nrdokwew, n.datadok, k.nazwaskr FROM nagl n JOIN kontrah k on (n.id_kontrah = k.id_kontrah)");
result.ExecuteNonQuery();
【问题讨论】:
查看***.com/tags/firebird-.net-provider/info的链接 【参考方案1】:您正在执行查询,因此使用 ExecuteNonQuery()
是错误的方法(即执行更新、删除、DDL 等操作)。你需要使用ExecuteReader()
,然后遍历行:
见this example:
using (var connection = new FbConnection("database=localhost:demo.fdb;user=sysdba;password=masterkey")) connection.Open(); using (var transaction = connection.BeginTransaction()) using (var command = new FbCommand("select * from demo", connection, transaction)) using (var reader = command.ExecuteReader()) while (reader.Read()) var values = new object[reader.FieldCount]; reader.GetValues(values); Console.WriteLine(string.Join("|", values));
【讨论】:
以上是关于如何使用 C# Firebird 对数据库执行选择查询并将其显示在 shell 中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .NET Provider 在 Firebird 上启用 AUTODDL?
如何使用 Visual C# 2010 连接和使用 Firebird db 嵌入式服务器