Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用FirebirdClient查询Firebird数据库架构_C#_Ado.net_Compact Framework_Firebird - Fatal编程技术网

C# 使用FirebirdClient查询Firebird数据库架构

C# 使用FirebirdClient查询Firebird数据库架构,c#,ado.net,compact-framework,firebird,C#,Ado.net,Compact Framework,Firebird,如何在C#/ADO.NET/FirebirdClient中查询数据库模式?命名空间Firebird.Data.Schema中的所有类都是内部类 例如: 检查表中是否有具有指定名称的列 查询存储过程参数的数量、名称和类型 等等 FirebirdClient-Compact Framework,NETProvider-2.5.2-CF.7z您应该查询系统表(它们的名称前缀为RDB$): 我找到了 FbConnection connection = (FbConnection)this.Ge

如何在C#/ADO.NET/FirebirdClient中查询数据库模式?命名空间Firebird.Data.Schema中的所有类都是内部类

例如: 检查表中是否有具有指定名称的列 查询存储过程参数的数量、名称和类型

等等


FirebirdClient-Compact Framework,NETProvider-2.5.2-CF.7z

您应该查询系统表(它们的名称前缀为
RDB$
):


我找到了

    FbConnection connection = (FbConnection)this.GetConnection();
    connection.GetSchema("procedureparameters", new string[] { null, null, procedureName });
还可以使用FbConnection::GetSchema检索有关数据库对象的所有信息


另请参见FbSchemaFactory::PrepareCollection

我的意思是,在我的应用程序中是否可以使用FirebirdClient的内部类。这个库中提供了查询RDB$表的代码,并将其重写两次,这不是很好的主意。您可以通过反射使用任何内部类型,因此,这是可能的。不过,您应该记住,内部类型通常没有文档记录,即使在两个版本之间,它们的契约也可能被打破。此外,您还可以向FB客户端开发人员询问如何公开这些类型。可能是,有一些原因阻止他这么做。谢谢。你一次又一次地节省了很多时间。很酷!我也很想知道您在用它做什么。(希望不要窥探您的妻子)Compact Framework存在问题:在FirebirdClient中没有包含FirebirdSql.Schema.FbMetaData.xml(作为嵌入式资源)