数据未通过SQLDataAdapter加载到GridView

时间:2018-09-03 07:16:44

标签: c# asp.net sql-server

我是ASP.NET的新手,并使用下面的查询在GridView显示的SQLDataAdapter中获取数据。但是看起来数据不是在SQLDataAdapter本身中获取的,同样的代码在SQLReader上也可以正常工作。 谁能帮助我了解我在这里做错了什么?

OnPrepared

3 个答案:

答案 0 :(得分:0)

您需要致电-

  

GridViewOutput.DataBind()

指定数据源之后。

有关此的更多信息-

https://docs.microsoft.com/en-us/dotnet/api/System.Web.UI.WebControls.GridView.DataBind?view=netframework-4.7.2

答案 1 :(得分:0)

您只是错过了绑定Gridview的行。     SqlConnection conn =新的SqlConnection(connectionString);     如果(conn.State == ConnectionState.Closed)     {         conn.Open();     }     字符串sql =“从xyz中选择前100个*”;     SqlCommand cmd =新的SqlCommand(sql,conn);     SqlDataAdapter适配器=新的SqlDataAdapter(cmd);     数据集输出=新的数据集();     adapter.Fill(Output,“ out”);     GridViewOutput.DataSource = Output.Tables [“ out”];     GridViewOutputData.DataBind();     / *使用(SqlCommand cmd =新的SqlCommand(sql,conn))       {           使用(SqlDataReader reader = cmd.ExecuteReader())           {               而(reader.Read())               {                   Response.Write(reader.GetString(0)+ reader.GetString(2));               }           }       } * /   conn.Close();

答案 2 :(得分:0)

设置数据源后,您忘记了包含DataBind()方法。 GridView数据绑定的正确方法应如下:

SqlDataAdapter adapter = new SqlDataAdapter(cmd);

DataSet output = new DataSet();
adapter.Fill(Output, "out");
GridViewOutput.DataSource = Output; // bind directly to DataSet
GridViewOutput.DataBind(); // bind to grid