'System.Data.Common.DataRecordInternal' 형식 개체를 'System.Data.DataRowView' 형식으로 캐스팅할 수 없습니다.

 string sqlQuery = "쿼리문";

JdFW.DB.SqlHelper sql = new JdFW.DB.SqlHelper(SiteDeclaration.DBconnString);

SqlCommand comm = sql.CreateCommand(sqlQuery);

comm.Parameters.AddWithValue("@예매번호", p);

SqlDataReader rs = comm.ExecuteReader();

if (rs.HasRows)
{

this.DataList1.DataSource = rs;
DataList1.DataBind();

}

rs.Close();
sql.CloseSqlConnection();

 

이렇게 했는데

ItemDataBound에서 바인딩 오류가 난다면?

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{

    //System.Data.DataRowView drv = (System.Data.DataRowView)(e.Item.DataItem); 기존코드 오류발생
     System.Data.Common.DbDataRecord drv = (System.Data.Common.DbDataRecord)(e.Item.DataItem); 이렇게 변경해주면된다 
      Response.Write(drv["FloorNumber"].ToString() + "<br>");
}
}

+ Recent posts