2014-12-25 4 views
0

Я создал элемент управления меткой и gridview. Ярлык показывает данные, но в Gridview данные из базы данных не заполняются. Ниже приведен мой код. Ошибка не будет получена при выполнении этогоНевозможно отобразить данные в gridview в asp.net

using System; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Configuration; 
using System.Data; 



namespace WebApplication1 
{ 
public partial class WebForm1 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
      string connectionString = ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString; 
     SqlConnection con = new SqlConnection(connectionString); 
     SqlCommand cmd = new SqlCommand("Select BATSMAN_NAME from RUNS_STATS", con); 
     con.Open(); 

     SqlDataReader dr=cmd.ExecuteReader(); 

     while(dr.Read()) 
     { 
      Label1.Text = dr.GetString(dr.GetOrdinal("BATSMAN_NAME")); 
     } 

     GridView2.DataSource = dr; 
     GridView2.DataBind(); 
     con.Close(); 
    } 
    } 
    } 
+0

Вы уверены, что ваша команда 'Select BATSMAN_NAME из RUNS_STATS' возвращает любые данные? Вы отлаживали свой код и проверяли 'dr'? –

+1

Поскольку 'dr' - это объект, а не контейнер данных, используйте вместо него' DataTable' и заполните его своим объектом datareader. –

+0

1. Проверьте инструкцию SQL .. вернет ли она что-то. 2. Вы можете использовать dr [index] для извлечения данных. i.e string col1Value = rdr [0] .ToString(); OR string col1Value = rdr ["ColumnOneName"]. ToString(); –

ответ

1

Используйте SqlDataAdapter & набора данных для заполнения GridView

SqlCommand cmd = new SqlCommand("Select BATSMAN_NAME from RUNS_STATS", con); 
    SqlDataAdapter daGrid = new SqlDataAdapter(cmd); 
    DataSet ds = new DataSet(); 
    daGrid.Fill(ds); 
    GridView2.DataSource = ds.Tables[0]; 
    GridView2.DataBind(); 
+0

Это работало. Большое спасибо. SqlDataReader dr = cmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load (dr); – DotNetUser

0

Попробуйте отключенную архитектуру. Если этот код не работает, проверьте, подходит ли запрос.

SqlConnection conobj=new SqlConnection; 
SqlCommand cmdobj=new SqlCommand(""Select BATSMAN_NAME from RUNS_STATS", conobj); 
SQlDataAdapter sdaobj=new SqlDataAdapter(cmdobj); 
DataTable dtobj=new DataTable(); 
sdaobj.Fill(dtobj); 
GridView2.DataSource=dtobj; 
GridView2.DataBind(); 
+0

Это тоже сработало .... – DotNetUser