Asp.net 将网格视图连接到数据库

Asp.net 将网格视图连接到数据库,asp.net,gridview,Asp.net,Gridview,我建立了一个ASP.net项目,但我是新手 我遇到了这个问题: 获取textbox1和按钮名称=过滤器和网格视图 有太多表的数据库(标记,课程) 当我在textbox1中写一个句子并按filter grid view连接到数据库并根据textbox1内容获取数据时,我需要 默认情况下,所有东西都不带过滤器 我成功了,但是网格视图没有出现 没有错误 <table > <tr> <td colspan= "2" bgcolor="#4B6C9E" > <f

我建立了一个ASP.net项目,但我是新手

我遇到了这个问题:

获取textbox1和按钮名称=过滤器和网格视图

有太多表的数据库(标记,课程)

当我在textbox1中写一个句子并按filter grid view连接到数据库并根据textbox1内容获取数据时,我需要

默认情况下,所有东西都不带过滤器

我成功了,但是网格视图没有出现 没有错误

<table >
<tr>
<td colspan= "2" bgcolor="#4B6C9E"  >
<font color = white> Choose The Course :</font>
</td>
</tr>
<tr>
   <td> <asp:Label ID="Label1" runat="server" Text="Course :" ></asp:Label>
   </td>
    <td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td colspan = "2" align = "center">
    <asp:Button ID="Button1" runat="server" Text="Filter" />
    </td>
    </tr>
</table>

    <br />
<br />
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="StdID" HeaderText="StdID" SortExpression="StdID" />
            <asp:BoundField DataField="Mark" HeaderText="Mark" SortExpression="Mark" />
            <asp:BoundField DataField="CourseID" HeaderText="CourseID" 
                SortExpression="CourseID" />
            <asp:BoundField DataField="StudentName" HeaderText="StudentName" 
                SortExpression="StudentName" />
            <asp:BoundField DataField="CourseName" HeaderText="CourseName" 
                SortExpression="CourseName" />
            <asp:BoundField DataField="Year" HeaderText="Year" SortExpression="Year" />
            <asp:BoundField DataField="Semester" HeaderText="Semester" 
                SortExpression="Semester" />
            <asp:BoundField DataField="Grade" HeaderText="Grade" SortExpression="Grade" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
        SelectCommand="SELECT Marks.StdID, Marks.Mark, Marks.CourseID, Marks.StudentName, Course.CourseName, Course.Year, Course.Semester, Course.Grade FROM Marks INNER JOIN Course ON Marks.CourseID = Course.ID WHERE (Course.CourseName LIKE '@name')">
        <SelectParameters>
                 <asp:ControlParameter Name="name" ControlID="TextBox1" PropertyName="Text" DefaultValue="%" Type="String"  />
        </SelectParameters>
    </asp:SqlDataSource>

选择课程:


注意:当我在数据库中执行查询时,它工作得非常好


请尽快提供帮助

如果没有来自数据源的行,Gridiview不会显示任何内容。 该子句是错误的“WHERE(Course.CourseName,如'@name'),您不需要将@name放入字符串中,数据库将搜索名为'@name'的课程,将参数直接放入SQL中。 这样:

 SelectCommand="SELECT Marks.StdID, Marks.Mark, Marks.CourseID, Marks.StudentName, Course.CourseName, Course.Year, Course.Semester, Course.Grade FROM Marks INNER JOIN Course ON Marks.CourseID = Course.ID WHERE (Course.CourseName LIKE @name)"