Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# 显示数据集中的数据_C#_Asp.net_Stored Procedures_Dataset_Console Application - Fatal编程技术网

C# 显示数据集中的数据

C# 显示数据集中的数据,c#,asp.net,stored-procedures,dataset,console-application,C#,Asp.net,Stored Procedures,Dataset,Console Application,我使用实体框架从存储过程获取数据集中的数据,现在我必须用c代码显示特定列的数据。我尝试了WriteXML,但它是xml格式的。 这是我的代码,我附上了存储过程结果的照片 DataSet myds = new DataSet(); myds = new BLRestaurant().GetMenu(); Console.WriteLine("Please select items from the menu listed:");

我使用实体框架从存储过程获取数据集中的数据,现在我必须用c代码显示特定列的数据。我尝试了WriteXML,但它是xml格式的。 这是我的代码,我附上了存储过程结果的照片

DataSet myds = new DataSet();
            myds = new BLRestaurant().GetMenu();
            Console.WriteLine("Please select items from the menu listed:");
            Console.WriteLine("                                      Menu");
            Console.WriteLine(" -----------------------------------------------------------------------------");
            Console.WriteLine(" |  ID    |            ITEM             | ACTUAL PRICE  |  DISCOUNTED PRICE  | ");
            Console.WriteLine(" -----------------------------------------------------------------------------");
将为您显示数据。如果要查找更通用的内容,可以循环浏览这些表并获得如下列名:

IEnumerable<string> columns = tbl.Columns.Cast<DataColumn>().Select(x => x.ColumnName);

使用.Net时,将其输出到GridView

<asp:GridView Id="MyGridView" runat="server" />
即使您不需要GridView,也最好将数据放入DataTable,因为您可以使用以下语句对其进行操作和迭代:

    foreach(DataRow dr in MyDataTable.Rows)
    {
        //do some stuff with the row
        //find a value in a column?
        string fieldText = dr["ColumnA"].Text;
    }

您没有明确说明您的问题是什么。您提供了一个模糊的要求,但没有提出问题?你在问什么?我想打印数据集中的数据。但是如何?有没有任何方法可以不使用datatable直接显示数据集中的数据?@Umm-e-Habiba您如何知道在数据集中使用哪个表而不说是哪个表?@Umm-e-Habiba您需要指定一个表,就像在sqlI中执行select时指定一个表一样。我从存储过程而不是从表中获取数据,这就是我想直接从数据集中打印数据的原因。@Umm-e-Habiba所有数据都在数据集中,数据集中包含一组表。然后可以遍历表中的行,如图所示。
<asp:GridView Id="MyGridView" runat="server" />
    private LoadGridView()
    {
        MyGridView.DataSource = GetMyData();
        MyGridView.DataBind();
    }

    private DataTable GetMyData()
    {
        DataTable result = new DataTable();
        SqlConnection con = new SqlConnection(SQLConn);
        SqlCommand cmd = new SqlCommand("[MyStoreProcedure]", con);
        cmd.CommandType = CommandType.StoredProcedure;
        try
        {
            con.Open();
            //Define parameters here
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            adapter.Fill(result);
        }
        catch (Exception ex)
        {
            //trap for errors
        }
        finally
        {
            con.Close();
            con.Dispose();
            cmd.Dispose();
        }
        return result;
    }
    foreach(DataRow dr in MyDataTable.Rows)
    {
        //do some stuff with the row
        //find a value in a column?
        string fieldText = dr["ColumnA"].Text;
    }