MySQL查询使用列名检索数据

Uma*_* A. 5 .net c# mysql sql

我正在编写一些工具,当应用任何查询时,它必须检索检索到的数据集的列名.

如果您熟悉phpMyAdmin,您将意识到SQL窗格会执行查询运行的内容并显示列名称的结果.我想知道查询有多难,它总是会产生列名,实际上是场景背后的编程?是这样,它分析查询,然后从中查找表名,然后首先使用查询检索列名,然后检索show columns from table-name数据?

有没有更好的方法?

更新 抱歉信息不完整,我想我必须说我正在使用.NET连接器并使用C#.

gbn*_*gbn 5

您的列是您在c#中加载的DataReader或DataTable的元数据的一部分

MSDN for DataTable:

private void PrintColumnNames(DataSet dataSet)
{
    // For each DataTable, print the ColumnName.
    foreach(DataTable table in dataSet.Tables)
    {
        foreach(DataColumn column in table.Columns)
        {
            Console.WriteLine(column.ColumnName);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

对于DataReader,请参阅是否可以从SqlDataReader获取列名?


Uma*_* A. 5

我使用以下代码解决了我的问题。

var QueryCommand = new MySqlCommand(txtQuery.Text, Connection);
var ResultReader = QueryCommand.ExecuteReader();

for (var f = 0; f < ResultReader.FieldCount; f++)
{
   ResultGrid.Columns.Add("column" + f, ResultReader.GetName(f));
}
Run Code Online (Sandbox Code Playgroud)