【问题标题】:nothing is being displayed in my gridview我的网格视图中没有显示任何内容
【发布时间】:2011-07-28 06:05:46
【问题描述】:

您好,当我尝试此操作时,我的 gridview 中没有显示任何内容:

   protected void Button2_Click(object sender, EventArgs e)
    {
        string FirstName = TextBox2.Text;
        SqlDataSource1.SelectCommand = "SELECT FirstName, SecondName FROM User WHERE FirstName LIKE '%" + FirstName + "%'";

        GridView1.DataBind();
    }
}

我的 sqldatasource 绑定到一个 odbc 连接字符串,所以我可以连接到一个 mysql 数据库 ASP:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ODBCDataConnectionString %>" 
        ProviderName="<%$ ConnectionStrings:ODBCDataConnectionString.ProviderName %>" 
        SelectCommand="SELECT FirstName, SecondName FROM User WHERE FirstName LIKE '%' + @qsFirstName + '%'">
        <SelectParameters>
        <asp:QueryStringParameter Name="qsFirstName" QueryStringField="firstname" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
    <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" 
        EnableModelValidation="True">
    </asp:GridView>
</asp:Content>

【问题讨论】:

  • 如果您在标记中使用参数化查询,为什么要在代码中将其更改为串联查询? (并且在此过程中引入了 SQL 注入漏洞。)
  • 因为 mysql 的 sqldatasource 我不认为你不能得到参数我不知道如何为它做查询字符串
  • 有没有办法将 TextBox1.Text 设置为 QueryStringParameter = qsFirstName?
  • 我不确定基于声明性标记的小部件,我并没有真正使用它们。但是您绝对应该能够在 SQL 语句中使用参数。我相信 MySQL 的参数语法是在它前面加上 ? 而不是 @。 (这是我不使用这些小部件的主要原因之一……更改 DBMS 需要更改 UI 标记。)

标签: c# asp.net mysql sql html


【解决方案1】:

构建后select命令的值是多少?

SqlDataSource1.SelectCommand = "SELECT FirstName, SecondName FROM User WHERE FirstName LIKE '%" + FirstName + "%'";

名字后面有空格吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    相关资源
    最近更新 更多