2013-06-02 21 views
2

我在asp.net中製作課程註冊系統。現在我正在建立一個頁面,顯示學生的成績單,即他/她所學的所有課程。要做到這一點,我使用兩個表:課程表,其中保存所有課程的記錄,和註冊表,我保留所有註冊記錄。我點擊一個名爲lbShowTranscript的鏈接按鈕,它將我重定向到StudenGetTranscript頁面。我有一個新的重定向頁面中的網格視圖來顯示成績單,它沒有給出結果,它總是空的。這裏是代碼:無法找到此查詢在asp.net中無法正常工作的原因

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> 

任何人都可以幫助我嗎?由於

+0

是否查詢獨立工作?在你的代碼之外? –

+0

當我寫沒有「where」子句它工作 – yrazlik

回答

1

在你的頁面加載,你需要設置選擇參數值:

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

設定值的另一種方法是:

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

這個代碼不執行任何操作:

protected void Page_Load(object sender, EventArgs e) 
{ 

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

一旦函數結束時的getId消失。您需要將該值推入您的選擇參數。

+0

但是,當我調試我看到它返回當前用戶ID – yrazlik

+0

哦好吧我怎麼做, – yrazlik