0

我写了这段代码,但这段代码不是真的。我想显示行表,其中 pname=textbox1.text

protected void btnSearch_Click(object sender, EventArgs e)
{
    SqlDataSource2.SelectCommand = "select pid, pname, pprice,publisher, writer FROM tblproduct  where pname   LIKE '" + txtName.Text + "%';";

    GridView1.EmptyDataText = "search not result";        
}
4

1 回答 1

0

首先,由于构建方式的原因,您的代码容易受到 SQL 注入攻击,请SelectCommand改用以下代码:

SqlDataSource2.SelectCommand = @"select pid, pname, pprice, publisher, writer FROM tblproduct where pname LIKE @likeText;";

SqlDataSource2.SelectParameters.Add("likeText", txtName.Text);

至于为什么你没有得到任何结果,你需要调试正在生成的实际 SQL 语法并手动对你的数据库运行它,一旦工作正常,那么你需要在SelectCommand上面的代码分配行中生成确切的字符串.

于 2013-11-08T20:11:45.740 回答