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);