存储过程绑定到GrideView中

执行存储过程可以返回table,并且返回的table中也有数据,但是绑定到前台中只能显示列标题,没有数据,这是怎么回事?下面的代码是问题中是的代码

代码一:点击按钮
 protected void btn_cx_Click(object sender, EventArgs e)
        {
            string yymc = txt_yymc.Text.Trim().ToString();
            string kssj = txt_kssj.Text.Trim().ToString() + " 00:00:00.000";
            string jssj = txt_jssj.Text.Trim().ToString() + " 23:59:59.000";
            try
            {
                DataTable dt = new DataTable();
                CenterBaseBLL.gysxx gys = new CenterBaseBLL.gysxx();
                dt = gys.GetAll(yymc, kssj, jssj);

                if (dt != null && dt.Rows.Count > 0)
                {
                    gysxx.DataSource = dt;
                    gysxx.DataBind();
                }
                else
                {

                }
            }
            catch
            {

            }
        }
代码二:BLL中的代码
public DataTable GetAll(string yymc, string kssj, string jssj)
        {
            DataTable table = new DataTable();
            try
            {
                CenterBaseDAL.ExecuteProcedure exec = new CenterBaseDAL.ExecuteProcedure();
                SqlParameter[] sqlp = {
                    new SqlParameter("@yymc",yymc),
                    new SqlParameter("@kssj",kssj),
                    new SqlParameter("@jssj",jssj),
                };
                int falg = exec.run(table, "HJY_GYL_GHSXX", sqlp);
                if (falg == 1)
                {
                }
                else
                {
                    this.ErrorMessage = exec.ErrorMessage.ToString();
                }
            }
            catch (Exception e)
            {
                this.ErrorMessage = e.Message.ToString();
            }

            return table;
        }
代码三:DAL中的代码

 public int run(DataTable table, string sprocName, SqlParameter[] parameters)
        {
            Debug.Assert(sproc == null);
            sproc = new StoredProcedure(sprocName, parameters);
            int flag = sproc.Run(table);
            this.ErrorMessage = sproc.ErrorMessage;
            sproc.Dispose();
            return flag;
        }
代码四:前台页面列绑定代码
<Columns>
                    <asp:BoundField HeaderText="医院名称" DataField="yymc" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                    <asp:BoundField HeaderText="供应商名称" DataField="gysmc" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                    <asp:BoundField HeaderText="供应商分类" DataField="gysfl" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                    <asp:BoundField HeaderText="上月采购金额" DataField="syxsje" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                </Columns>

以上是代码片段,用到的代码全贴出来了。下面的图片是前台点击按钮后实现的效果图:

图片说明

如图,在点击“查询”后只能显示列标题,数据显示不出来,
求大神指点!!
在线等!!!!!

1个回答

if (dt != null && dt.Rows.Count > 0)
{
gysxx.DataSource = dt;
gysxx.DataBind();
}
断点到dt下,看数据是否提取成功

Jasonchne
Jasonchne 可以啊 dt有数据返回的
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问