Динамическое использование операторов SQL для SQLDataSource
У меня может быть или нет довольно простой вопрос для вас, ребята. Основываясь на моих операторах 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, но я не уверен.
Любая помощь очень ценится! Спасибо!
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