对于你们,我或许可能没有一个非常简单的问题。基于字符串的存在我的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做一些事情,但我不确定。
非常感谢任何帮助!谢谢!
答案 0 :(得分:1)
您需要将GridDataSource
的结果分配给GridView1.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