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 に答える