如何使用存储过程在Gridview中生成数据

时间:2016-10-11 05:46:29

标签: asp.net stored-procedures gridview

Some Code Here

我想从数据库中查看我的数据,我已经创建了一个存储过程,我想在GridView中显示数据。但是,我不知道如何在GridView中显示数据。请给出我是一个代码,通过它我可以在网格视图中显示数据。

3 个答案:

答案 0 :(得分:2)

试试这个代码。可能它很有用

    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 :(得分:0)

可能会有所帮助。我正在使用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();

  }

答案 2 :(得分:0)

咦?有人给你一个负面意见,我明白为什么!这个问题过于宽泛,可能意味着如何将数据转换为Gridview,如何获取数据,如何在ASP.net中使用Stored Procedures等等。

为了避免代码隐藏,因为我更愿意尽可能多地控制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#)时,我只需打开数据源,将数据读入数据表并使用它!简单的人!

            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链接到数据源并将其绑定()即可!

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

瞧!