Как сгенерировать данные в Gridview при использовании хранимой процедуры

#asp.net #stored-procedures #gridview

#asp.net #хранимые процедуры #gridview

Вопрос:

Некоторый код здесь

Я хочу просмотреть свои данные в gridview из базы данных, где я уже создаю хранимую процедуру, из которой я хочу показать данные в GridView.Но я не имею ни малейшего представления о том, как отображать данные в GridView.Пожалуйста, дайте мне код, с помощью которого я могу показать данные в виде сетки.

Комментарии:

1. прекратите публиковать изображения кода. это не facebook

Ответ №1:

Попробуйте этот код.Может быть, это полезно

     try
    {
        SqlConnection con = new SqlConnection(strcon);
        con.Open();
        SqlCommand cmd = new SqlCommand("Select_Lab_Complete_Patient_Hist", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("date", SqlDbType.DateTime).Value = DATE;
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        grd_lab_comp.DataSource = dt;
        grd_lab_comp.DataBind();
        dt.Clear(); dt.Dispose();
        adp.Dispose();
        cmd.Cancel(); cmd.Dispose();
        con.Close(); con.Dispose();
    }
    catch (Exception err)
    {
        lbl_msg.Text = err.ToString();
    }
  

Комментарии:

1. это не работает для меня, потому что я пытаюсь извлечь данные из модели данных объекта, а не из строки подключения.

2. @Shamskhan — вы должны были упомянуть об этом в своем вопросе… который не содержит никакого кода или примеров вообще

Ответ №2:

Может быть, это поможет.Я использую EF 6.1.3

в sql server

 Create proc mysp
as 
BEGIN
select * from CmnUsers
END
  

и файл .cs

  using (var db=new testEntities())
 {
      List<CmnUser> users = db.Database.SqlQuery<CmnUser>("mysp").ToList();
      GridView1.DataSource = users;
      GridView1.DataBind();

  }
  

Ответ №3:

А?! Кто-то дал вам отрицательный отзыв, и я понимаю, почему! Вопрос слишком широкий и может означать что угодно, от того, как получить данные в Gridview , как получить данные, как использовать Stored Procedures в ASP.net , и т.д. и т.п.

Чтобы избежать отставания от кода, поскольку я предпочитаю предоставлять как можно больше контроля клиенту ASP, это то, что я делаю…

Определите свой источник данных SQL, ссылающийся на хранимую процедуру:

     <asp:SqlDataSource ID="sdsWEFall" runat="server" ConnectionString="<%$ ConnectionStrings:ATCNTV1ConnectionString %>"
        SelectCommand="MyStoredProcName" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:Parameter Name="Param1" Type="string" />
..
etc
..
        </SelectParameters>
    </asp:SqlDataSource>
  

И когда вам это нужно с помощью кода (для меня C #), я просто открываю источник данных, считываю данные в datatable и использую его! Полегче, парень!

             SqlDataSource sds1 = (SqlDataSource)gvRow.FindControl("sdsWEFall");
            sdsWEFall.SelectParameters["Param1"].DefaultValue = "a value";
            DataSourceSelectArguments dss1 = new DataSourceSelectArguments();
            DataView dv2 = sdsWEFall.Select(dss1) as DataView;
            DataTable dt2 = dv2.ToTable() as DataTable;
            if (dt2 != null)
            {
              foreach (DataRow dr2 in dt2.Rows)
                if (dt2.Rows.Count > 0)
                {
                   //and do your stuff here
                }
            }
  

Чтобы поместить эти данные в gridview, просто свяжите GridView с источником данных и Bind() его!

 MyGridView.DataSourceID = "sdsWEFall";
MyGridView.DataBind();
  

Вуаля!