从返回类型DataSet获取输出并将其显示在Gridview中

问题描述 投票:0回答:1

我试图从返回类型为DataSet的方法获取输出并在GridView中使用它,但输出没有反映。谁能请建议如何获得输出。

  public DataSet GetData()
{
    try
    {
        SqlConnection conn = new SqlConnection(connectionString);
        if (conn.State == ConnectionState.Closed)
        {
            conn.Open();
        }

        String sql = "Select top 100 * from SEQUENCE";
        SqlCommand cmd = new SqlCommand(sql, conn);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataSet output = new DataSet();

        adapter.Fill(output);
        conn.Close();

        return (output);     

    }
    catch (Exception ex)
    {
        ScriptManager.RegisterStartupScript(this, GetType(),
                   "ServerControlScript", ex.Message, true);

        return (null);

    }
}




    Home home = new Home();
    Output=home.GetData();
    GridViewOutput.DataSource = Output.Tables["Out"];
    GridViewOutput.DataBind();
c# sql asp.net dataset
1个回答
0
投票

尝试移动您声明qazxsw poi的地方并将其返回,如下所示。

我更改了声明网格视图数据源的部分。您应该能够将数据集数据源声明为方法本身。

看看数据集与数据集output上的这个线程DataSet可以容纳多个表。但是,如果您只是返回单个结果集,那么DataTable而不是DataSet可能会更有意义。

只需将Methods类型更改为DataTable即可。以与下图所示相同的方式声明它的来源。

Datatable vs Dataset

在c#中使用SQL的最后一件事我倾向于使用public DataSet GetData() { //Move where you declare output ot here DataSet output = new DataSet(); try { SqlConnection conn = new SqlConnection(connectionString); if (conn.State == ConnectionState.Closed) { conn.Open(); } String sql = "Select top 100 * from SEQUENCE"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(output); conn.Close(); } catch (Exception ex) { ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", ex.Message, true); return (null); } //And move the return to here return output; } //Should just need this to display the data GridViewOutput.DataSource = GetData(); GridViewOutput.DataBind(); 语句。它使代码更清晰,并为您处理资源处理,看到using。如果您选择使用它,您的代码将如下所示:

When should I use the using Statement?
© www.soinside.com 2019 - 2024. All rights reserved.