【问题标题】:Gridview doesn't appear when I try to fill by stored procedure当我尝试通过存储过程填充时,Gridview 没有出现
【发布时间】:2017-02-02 09:02:18
【问题描述】:

我正在尝试使用存储过程填充GridView,但它不起作用,因为我没有发现有什么问题。

代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        LoadGrid();
    }
}

private void LoadGrid()
{
    using (MathDBEntities1 db = new MathDBEntities1())
    {
        string name = Request.QueryString["qName"];
        string ID = (from tbl in db.checkQuizName(name) select tbl.QuizID).FirstOrDefault();
        GridView1.DataSource = db.QuestionsByQID(ID).ToList();
        GridView1.DataBind();
    }
}

存储过程代码

ALTER proc [dbo].[QuestionsByQID]
@quizID nvarchar
as begin
select * from dbo.Question where [QuizID] = @quizID
end

【问题讨论】:

  • 如果没有存储过程的代码和您的数据,几乎不可能回答您的问题。
  • @Sefe 我添加了程序的代码
  • 您是否尝试添加调试器断点并验证db.QuestionsByQID(ID).ToList() 的结果是否存在?
  • @GeorgPatscheider 是的,它具有价值,我也在 SQL-Server 上测试过
  • 已解决!总是小错误,应该写在存储过程中@quizID nvarchar(max)

标签: c# asp.net sql-server entity-framework


【解决方案1】:

根据 OP 的评论

ALTER proc [dbo].[QuestionsByQID]
@quizID nvarchar(max)
as begin
select * from dbo.Question where [QuizID] = @quizID
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2015-09-10
    相关资源
    最近更新 更多