找不到为什么这个查询在asp.net中无法正常工作

时间:2013-06-02 15:31:52

标签: asp.net sql database

我正在asp.net中制作课程注册系统。现在我正在建立一个页面,显示学生的成绩单,即他/她已经完成的所有课程。为此,我使用两个表:课程表,其中保存所有课程的记录,以及注册表,其中我保留所有注册的记录。我点击一个名为lbShowTranscript的链接按钮,它将我重定向到StudenGetTranscript页面。我在新重定向的页面中有一个gridview来显示记录,但它没有结果,它总是空的。这是代码:

public partial class StudentGetTranscript : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        int getid = MyGlobals.student.getID();
    }
}




 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="CourseCode,CourseNumber,Term,StudentID" 
    DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="CourseCode" HeaderText="CourseCode" ReadOnly="True" 
            SortExpression="CourseCode" />
        <asp:BoundField DataField="CourseNumber" HeaderText="CourseNumber" 
            ReadOnly="True" SortExpression="CourseNumber" />
        <asp:BoundField DataField="Term" HeaderText="Term" ReadOnly="True" 
            SortExpression="Term" />
        <asp:BoundField DataField="StudentID" HeaderText="StudentID" ReadOnly="True" 
            SortExpression="StudentID" />
        <asp:BoundField DataField="Grade" HeaderText="Grade" SortExpression="Grade" />
        <asp:BoundField DataField="CourseName" HeaderText="CourseName" 
            SortExpression="CourseName" />
        <asp:BoundField DataField="CRN" HeaderText="CRN" SortExpression="CRN" />
        <asp:BoundField DataField="Credit" HeaderText="Credit" 
            SortExpression="Credit" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT RegisterTable.CourseCode, RegisterTable.CourseNumber, RegisterTable.Term, RegisterTable.StudentID, RegisterTable.Grade, CourseTable.CourseName, CourseTable.CRN, CourseTable.Credit FROM RegisterTable INNER JOIN CourseTable ON RegisterTable.CourseCode = CourseTable.CourseCode WHERE (RegisterTable.StudentID = @getid)">
    <SelectParameters>
        <asp:Parameter Name="getid" />
    </SelectParameters>
</asp:SqlDataSource>

任何人都可以帮我吗?感谢

2 个答案:

答案 0 :(得分:1)

此代码不执行任何操作:

protected void Page_Load(object sender, EventArgs e)
{

    int getid = MyGlobals.student.getID();
}

一旦功能结束,getid就会消失。您需要将该值推送到您的select参数中。

答案 1 :(得分:1)

在页面加载中,您需要设置选择参数值:

SqlDataSource1.SelectParameters["getid"].DefaultValue = getid;

设置值的另一种方法是:

SqlDataSource1.SelectParameters.Add("getid", getid);