0

我可能会或可能不会在这里为你们提出一个非常简单的问题。基于我的 if-else 语句是否存在字符串,我试图调用带有参数的 SELECT 语句,并将它们都传递给相同的结果 GridView。

这是我正在尝试做的事情:

 string query;
 if(BadgeNumLabel.Text != "")
 {
     query = "SELECT * FROM AUDITS";
 else
 {
     query = "SELECT * FROM AUDITS WHERE BADGENUM = :BadgeNumLabel";
     GridDataSource.SelectParameters.Add(new Parameter("BadgeNumLabel",TypeCode.String, BadgeNumLabel.Text));
 }

 GridDataSource.SelectCommand = query;
 GridView1.DataBind();

我的 .aspx 代码如下所示:

 <asp:SqlDataSource ID="GridDataSource" runat="server"
            ConnectionString="<%$ ConnectionStrings:OracleConnectionString %>" 
            ProviderName="<%$ ConnectionStrings:OracleConnectionString.ProviderName %>"  
            onselecting="GridDataSource_Selecting">


        </asp:SqlDataSource>  

有什么我想念的吗?我很难过。我认为它必须通过传递参数 BadgeNumLabel 来做一些事情,但我不确定。

任何帮助是极大的赞赏!谢谢!

4

1 回答 1

1

您需要将结果分配GridDataSourceGridView1.DataSource

SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
SqlCommand GridDataSource= new SqlCommand();

GridDataSource.CommandText = "SELECT * FROM AUDITS";
GridDataSource.CommandType = CommandType.Text;
GridDataSource.Connection = sqlConnection1;

sqlConnection1.Open();

GridView1.DataSource = GridDataSource.ExecuteReader();
GridView1.DataBind();

编辑

它不是字面上的 ExecuteCommand,我想说的是,您需要将 SqlCommand 的结果分配给GridView

于 2012-05-23T19:00:42.343 回答