C# 如何从C中的SQL命令中获取原始输出

C# 如何从C中的SQL命令中获取原始输出,c#,sql,db2,C#,Sql,Db2,我有以下功能: private IDataReader ExecuteReader(OdbcCommand command) { var connection = new OdbcConnection(MyConnectionStringVar); command.Connection = connection; command.Connection.Open(); command.CommandTimeout = 0; return command.Ex

我有以下功能:

private IDataReader ExecuteReader(OdbcCommand command) {
    var connection = new OdbcConnection(MyConnectionStringVar);
    command.Connection = connection;
    command.Connection.Open();
    command.CommandTimeout = 0;
    return command.ExecuteReader(CommandBehavior.CloseConnection);
}
我可以这样使用它:

var query = "SELECT * FROM TableName";
using (var command = new OdbcCommand(query))
{
    using (var reader = ExecuteReader(command))
    {
        while (reader.Read())
        {
            // get the value of ColumnName for the 
            // current row in the result set:
            // reader["ColumnName"];
        }
    }
}
我是否可以获取select语句中返回的所有内容的原始转储

我希望能够使用descripe或类似的命令来获取其他信息,但我不希望每次只为了读取正确的列名而更改一堆代码。有时就像在SELECT*中一样,我不知道列名称是什么


我在一个黑暗的情况下编码,没有太多的访问服务器。我无法使用,因为它是由以前的开发人员安装的,免费试用版已经用完了。

请查看InfoMessage事件。它可能会发送您需要的内容,我没有DB2,所以我可以进行测试

另一方面,由于您不再拥有SQL Manager,您可以在线找到其他免费的SQL工具


编辑:我误解了。我认为您需要像打印语句和一些系统命令一样的输出。DarkFalcon的答案是正确的。。。您可以执行一个简单的for循环和输出读取器[i]。您可能希望查看列的数据类型,以帮助格式化输出,但您可以轻松地对其进行迭代。

要回答有关获取读取器返回的数据的问题,IDataReader提供了对和索引的和访问。

您可以使用reader.GetValues。。。将记录中的所有值放入对象[]


您能详细说明一下还有其他免费的SQL工具吗?例如,它是完全免费的。IBM Data Studio看起来很有希望,只是在他们的网站上创建帐户后,您必须下载一个120Mb的安装程序!!下载830Mb的应用程序。有稍微轻一点的吗?
var valueArray = new object[reader.FieldCount];
reader.GetValues(valueArray);