Usuário com melhor resposta
Filtragem com multipos DropDownList

Pergunta
-
Prezados,
Estou tentando fazer um filtro com 05 dropdownlists de pesquisa em Asp.Net C#. Mas gostaria de filtrar as informações na tabela com base em um, dois, três, quatro ou as cinco opções e depois clicar no botão Pesquisa. Como faço isso? Estou usando o codigo abaixo:
protected void btnSearch_Click(object sender, EventArgs e) { string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; SqlConnection con = new SqlConnection(CS); string SQL = "SELECT lid_cd_lideranca id,lid_nome nome,lid_cd_partido partido,lid_cd_base_aliada aliado,carg_cargo cargo,lid_cd_orgao lotacao,lid_cd_cidade_atuacao atuacao FROM redat_municipio RIGHT JOIN (lid_cargo RIGHT JOIN lid_lideranca ON lid_cargo.carg_cd_cargo = lid_lideranca.lid_cargo) ON redat_municipio.id_municipios = lid_lideranca.lid_cd_cidade_atuacao WHERE lid_lideranca.lid_cargo = @cargo AND lid_lideranca.lid_cd_cidade_atuacao = @municipio"; SqlCommand cmd = new SqlCommand(SQL, con); cmd.Parameters.AddWithValue("@municipio", ddlmunicipio.SelectedValue); cmd.Parameters.AddWithValue("@cargo", ddlcargo.SelectedValue); SqlDataAdapter Adpt = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); Adpt.Fill(dt); gwDados.DataSource = dt; gwDados.DataBind(); }
Respostas
-
Agradeco pela resposta mas nao funciona. Nao sei se me expressei mal, mas a filtragem pode ser baseada em ate cinco parametros. No entanto, posso escolher apenas um parametro, ou dois, ou tres, ou quatro ou cinco.
Olá,
monte a sql dinamicamente. Ex:
sql = "select *from tabela where "; //Se tiver parametro1 então sql = sql + "parametro1 = @parametro1"; cmd.Parameters.AddWithValue("@parametro1", parametro1); ... ...
Essa é a ideia, tente implementa-la. Se tiver dificuldade volte que te ajudo com o código, mas, é algo bem simples de se fazer.
Dê um retorno.
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Editado Wennder SantosMVP domingo, 25 de maio de 2014 22:03
- Sugerido como Resposta Vinícius Rafael Tavares domingo, 25 de maio de 2014 22:31
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:05
-
Olá,
o que está acontecendo?
Não testei seu código, mas, só de olhar, o erro que vi foi de concatenação. Você precisa dar um espaço antes de fechar sua primeira linha de sql, após o WHERE. Se não fizer isso, quando houver a concatenação das strings elas ficarão juntas e na execução desse trecho você receberá um erro de sql. Sua string está ficando +/- assim: ...WHERElid_lideranca.lid_cd_cidade_atuacao = @municipio
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Editado Wennder SantosMVP segunda-feira, 26 de maio de 2014 02:28
- Sugerido como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 11:35
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:05
-
Ola tudo bom. Tem como vc ajudar com o codigo? Pode enviar um exemplo?
Abs
Supondo que os DropDownList tenham um valor Default que não seja usado como busca, por exemplo "Selecione a cidade", veja o trecho o abaixo:
protected void Button1_Click(object sender, EventArgs e) { string sql = "SELECT *FROM TABLE WHERE "; if (ddlFuncao.SelectedIndex > 0) { sql = sql + "FUNCAO='" + ddlFuncao.Text + "' "; } if (ddlCidade.SelectedIndex > 0) {
if(ddlFuncao.SelectedIndex > 0)
{ sql = sql + "AND CIDADE='" + ddlCidade.Text + "' ";
}
else
{
sql = sql + "CIDADE='" + ddlCidade.Text + "' ";
} } }
O exemplo acima está usando concatenação de string para atribuir os parâmetros. Essa era minha sugestão, porém, usando sql atributos. Usei a concatenação só para te mostrar minha ideia. Espero que ajude.
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Editado Wennder SantosMVP segunda-feira, 26 de maio de 2014 14:01
- Sugerido como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:04
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:04
- Não Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:04
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 27 de maio de 2014 11:34
-
Tudo bom Wennder,
Muito obrigado. Resolveu praticamento 90% da consulta. Mas algumas não estão funcionando porque a concatenação da string SQL não esta ficando correta. Segue o código que fiz baseado no seu exemplo.
As consultas abaixo não estão funcionando:
Por exemplo, quais superintendentes trabalham na Secretaria da Fazenda? ERRO: Incorrect syntax near 'lid_lideranca'. (02 parâmetros: cargo e órgão)
Quais vereadores, do município de Goiânia são do PMDB? ERRO: Incorrect syntax near 'lid_lideranca'.(03
parâmetros: cargo, partido e município)Nota: Aproveitando a ocasião, como faço um refresh dos dropdownlists após clicar no botão Pesquisar?
Um grande abraço e obrigado pela ajuda
protected void btnSearch_Click(object sender, EventArgs e) { string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; SqlConnection con = new SqlConnection(CS); string sql = "SELECT lid_cd_lideranca id,lid_nome nome,part_sigla partido,bas_base aliado,carg_cargo cargo,orgao lotacao,municipios atuacao FROM redat_orgao RIGHT JOIN (lid_partido RIGHT JOIN (lid_base RIGHT JOIN (redat_municipio1 RIGHT JOIN (lid_cargo RIGHT JOIN lid_lideranca ON lid_cargo.carg_cd_cargo = lid_lideranca.lid_cargo) ON redat_municipio1.id_municipios = lid_lideranca.lid_cd_cidade_atuacao) ON lid_base.bas_cd_base = lid_lideranca.lid_cd_base_aliada) ON lid_partido.part_cd_partido = lid_lideranca.lid_cd_partido) ON redat_orgao.codorgao = lid_lideranca.lid_cd_orgao WHERE "; SqlCommand cmd = new SqlCommand(sql, con); if (ddlcargo.SelectedIndex > 0) { sql = sql + "lid_lideranca.lid_cargo='" + ddlcargo.SelectedValue + "' "; } if (ddlbasealiada.SelectedIndex > 0) { if (ddlcargo.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_base_aliada='" + ddlbasealiada.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_base_aliada='" + ddlbasealiada.SelectedValue + "' "; } } if (ddlmunicipio.SelectedIndex > 0) { if (ddlbasealiada.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_cidade_atuacao='" + ddlmunicipio.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_cidade_atuacao='" + ddlmunicipio.SelectedValue + "' "; } } if (ddlpartido.SelectedIndex > 0) { if (ddlmunicipio.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_partido='" + ddlpartido.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_partido='" + ddlpartido.SelectedValue + "' "; } } if (ddlorgao.SelectedIndex > 0) { if (ddlpartido.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_orgao='" + ddlorgao.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_orgao='" + ddlorgao.SelectedValue + "' "; } } con.Open(); cmd.CommandText = sql; SqlDataReader dr = cmd.ExecuteReader(); gwDados.DataSource = dr; gwDados.DataBind();
Olá,
esses erros:
Por exemplo, quais superintendentes trabalham na Secretaria da Fazenda? ERRO: Incorrect syntax near 'lid_lideranca'. (02 parâmetros: cargo e órgão)
Quais vereadores, do município de Goiânia são do PMDB? ERRO: Incorrect syntax near 'lid_lideranca'.(03
parâmetros: cargo, partido e município)São erros de sql simples, você consegue resolve-los facilmente usando o debug. Após clicar em pesquisar, para voltar o drop para o item default use:
ddlTeste.SelectedIndex = 0;
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Marcado como Resposta markevis segunda-feira, 2 de junho de 2014 21:59
Todas as Respostas
-
-
-
Agradeco pela resposta mas nao funciona. Nao sei se me expressei mal, mas a filtragem pode ser baseada em ate cinco parametros. No entanto, posso escolher apenas um parametro, ou dois, ou tres, ou quatro ou cinco.
Olá,
monte a sql dinamicamente. Ex:
sql = "select *from tabela where "; //Se tiver parametro1 então sql = sql + "parametro1 = @parametro1"; cmd.Parameters.AddWithValue("@parametro1", parametro1); ... ...
Essa é a ideia, tente implementa-la. Se tiver dificuldade volte que te ajudo com o código, mas, é algo bem simples de se fazer.
Dê um retorno.
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Editado Wennder SantosMVP domingo, 25 de maio de 2014 22:03
- Sugerido como Resposta Vinícius Rafael Tavares domingo, 25 de maio de 2014 22:31
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:05
-
Tudo Wennder. Obrigado por responder. Se puder me ajudar com o codigo agradeco demais. Achei um codigo em um forum mas nao esta funcionando quando clico no botao pesquisar:
DropDownList d = sender as DropDownList; if (d == null) return; string sql = "SELECT lid_cd_lideranca id,lid_nome nome,part_sigla partido,bas_base aliado,carg_cargo cargo,orgao lotacao,municipios atuacao FROM redat_orgao INNER JOIN (lid_partido INNER JOIN (lid_base RIGHT JOIN (redat_municipio INNER JOIN (lid_cargo INNER JOIN lid_lideranca ON lid_cargo.carg_cd_cargo = lid_lideranca.lid_cargo) ON redat_municipio.id_municipios = lid_lideranca.lid_cd_cidade_atuacao) ON lid_base.bas_cd_base = lid_lideranca.lid_cd_base_aliada) ON lid_partido.part_cd_partido = lid_lideranca.lid_cd_partido) ON redat_orgao.codorgao = lid_lideranca.lid_cd_orgao WHERE"; SqlCommand cmd = new SqlCommand(sql); switch (d.ID ) { case "ddlcargo": sql = sql + "lid_lideranca.lid_cargo = @cargo"; cmd.Parameters.AddWithValue("@cargo", ddlcargo.SelectedValue); break; case "ddlpartido": sql = sql + "lid_lideranca.lid_cd_partido = @partido"; cmd.Parameters.AddWithValue("@partido", ddlpartido.SelectedValue); break; case "ddlmunicipio": sql = sql + "lid_lideranca.lid_cd_cidade_atuacao = @municipio"; cmd.Parameters.AddWithValue("@municipio", ddlmunicipio.SelectedValue); break; case "ddlbasealiada": sql = sql + "lid_lideranca.lid_cd_base_aliada = @base"; cmd.Parameters.AddWithValue("@base", ddlbasealiada.SelectedValue); break; case "ddlorgao": sql = sql + "lid_lideranca.lid_cd_orgao = @orgao"; cmd.Parameters.AddWithValue("@orgao", ddlorgao.SelectedValue); break; } SqlDataAdapter Adpt = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); Adpt.Fill(dt); gwDados.DataSource = dt; gwDados.DataBind();
Preciso de algo parecido com isso. A filtragem aparece na Gridview.
-
Olá,
o que está acontecendo?
Não testei seu código, mas, só de olhar, o erro que vi foi de concatenação. Você precisa dar um espaço antes de fechar sua primeira linha de sql, após o WHERE. Se não fizer isso, quando houver a concatenação das strings elas ficarão juntas e na execução desse trecho você receberá um erro de sql. Sua string está ficando +/- assim: ...WHERElid_lideranca.lid_cd_cidade_atuacao = @municipio
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Editado Wennder SantosMVP segunda-feira, 26 de maio de 2014 02:28
- Sugerido como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 11:35
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:05
-
-
Ola tudo bom. Tem como vc ajudar com o codigo? Pode enviar um exemplo?
Abs
Supondo que os DropDownList tenham um valor Default que não seja usado como busca, por exemplo "Selecione a cidade", veja o trecho o abaixo:
protected void Button1_Click(object sender, EventArgs e) { string sql = "SELECT *FROM TABLE WHERE "; if (ddlFuncao.SelectedIndex > 0) { sql = sql + "FUNCAO='" + ddlFuncao.Text + "' "; } if (ddlCidade.SelectedIndex > 0) {
if(ddlFuncao.SelectedIndex > 0)
{ sql = sql + "AND CIDADE='" + ddlCidade.Text + "' ";
}
else
{
sql = sql + "CIDADE='" + ddlCidade.Text + "' ";
} } }
O exemplo acima está usando concatenação de string para atribuir os parâmetros. Essa era minha sugestão, porém, usando sql atributos. Usei a concatenação só para te mostrar minha ideia. Espero que ajude.
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Editado Wennder SantosMVP segunda-feira, 26 de maio de 2014 14:01
- Sugerido como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:04
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:04
- Não Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 26 de maio de 2014 17:04
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 27 de maio de 2014 11:34
-
Tudo bom Wennder,
Muito obrigado. Resolveu praticamento 90% da consulta. Mas algumas não estão funcionando porque a concatenação da string SQL não esta ficando correta. Segue o código que fiz baseado no seu exemplo.
As consultas abaixo não estão funcionando:
Por exemplo, quais superintendentes trabalham na Secretaria da Fazenda? ERRO: Incorrect syntax near 'lid_lideranca'. (02 parâmetros: cargo e órgão)
Quais vereadores, do município de Goiânia são do PMDB? ERRO: Incorrect syntax near 'lid_lideranca'.(03
parâmetros: cargo, partido e município)Nota: Aproveitando a ocasião, como faço um refresh dos dropdownlists após clicar no botão Pesquisar?
Um grande abraço e obrigado pela ajuda
protected void btnSearch_Click(object sender, EventArgs e) { string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; SqlConnection con = new SqlConnection(CS); string sql = "SELECT lid_cd_lideranca id,lid_nome nome,part_sigla partido,bas_base aliado,carg_cargo cargo,orgao lotacao,municipios atuacao FROM redat_orgao RIGHT JOIN (lid_partido RIGHT JOIN (lid_base RIGHT JOIN (redat_municipio1 RIGHT JOIN (lid_cargo RIGHT JOIN lid_lideranca ON lid_cargo.carg_cd_cargo = lid_lideranca.lid_cargo) ON redat_municipio1.id_municipios = lid_lideranca.lid_cd_cidade_atuacao) ON lid_base.bas_cd_base = lid_lideranca.lid_cd_base_aliada) ON lid_partido.part_cd_partido = lid_lideranca.lid_cd_partido) ON redat_orgao.codorgao = lid_lideranca.lid_cd_orgao WHERE "; SqlCommand cmd = new SqlCommand(sql, con); if (ddlcargo.SelectedIndex > 0) { sql = sql + "lid_lideranca.lid_cargo='" + ddlcargo.SelectedValue + "' "; } if (ddlbasealiada.SelectedIndex > 0) { if (ddlcargo.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_base_aliada='" + ddlbasealiada.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_base_aliada='" + ddlbasealiada.SelectedValue + "' "; } } if (ddlmunicipio.SelectedIndex > 0) { if (ddlbasealiada.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_cidade_atuacao='" + ddlmunicipio.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_cidade_atuacao='" + ddlmunicipio.SelectedValue + "' "; } } if (ddlpartido.SelectedIndex > 0) { if (ddlmunicipio.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_partido='" + ddlpartido.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_partido='" + ddlpartido.SelectedValue + "' "; } } if (ddlorgao.SelectedIndex > 0) { if (ddlpartido.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_orgao='" + ddlorgao.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_orgao='" + ddlorgao.SelectedValue + "' "; } } con.Open(); cmd.CommandText = sql; SqlDataReader dr = cmd.ExecuteReader(); gwDados.DataSource = dr; gwDados.DataBind();
-
Tudo bom Wennder,
Muito obrigado. Resolveu praticamento 90% da consulta. Mas algumas não estão funcionando porque a concatenação da string SQL não esta ficando correta. Segue o código que fiz baseado no seu exemplo.
As consultas abaixo não estão funcionando:
Por exemplo, quais superintendentes trabalham na Secretaria da Fazenda? ERRO: Incorrect syntax near 'lid_lideranca'. (02 parâmetros: cargo e órgão)
Quais vereadores, do município de Goiânia são do PMDB? ERRO: Incorrect syntax near 'lid_lideranca'.(03
parâmetros: cargo, partido e município)Nota: Aproveitando a ocasião, como faço um refresh dos dropdownlists após clicar no botão Pesquisar?
Um grande abraço e obrigado pela ajuda
protected void btnSearch_Click(object sender, EventArgs e) { string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; SqlConnection con = new SqlConnection(CS); string sql = "SELECT lid_cd_lideranca id,lid_nome nome,part_sigla partido,bas_base aliado,carg_cargo cargo,orgao lotacao,municipios atuacao FROM redat_orgao RIGHT JOIN (lid_partido RIGHT JOIN (lid_base RIGHT JOIN (redat_municipio1 RIGHT JOIN (lid_cargo RIGHT JOIN lid_lideranca ON lid_cargo.carg_cd_cargo = lid_lideranca.lid_cargo) ON redat_municipio1.id_municipios = lid_lideranca.lid_cd_cidade_atuacao) ON lid_base.bas_cd_base = lid_lideranca.lid_cd_base_aliada) ON lid_partido.part_cd_partido = lid_lideranca.lid_cd_partido) ON redat_orgao.codorgao = lid_lideranca.lid_cd_orgao WHERE "; SqlCommand cmd = new SqlCommand(sql, con); if (ddlcargo.SelectedIndex > 0) { sql = sql + "lid_lideranca.lid_cargo='" + ddlcargo.SelectedValue + "' "; } if (ddlbasealiada.SelectedIndex > 0) { if (ddlcargo.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_base_aliada='" + ddlbasealiada.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_base_aliada='" + ddlbasealiada.SelectedValue + "' "; } } if (ddlmunicipio.SelectedIndex > 0) { if (ddlbasealiada.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_cidade_atuacao='" + ddlmunicipio.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_cidade_atuacao='" + ddlmunicipio.SelectedValue + "' "; } } if (ddlpartido.SelectedIndex > 0) { if (ddlmunicipio.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_partido='" + ddlpartido.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_partido='" + ddlpartido.SelectedValue + "' "; } } if (ddlorgao.SelectedIndex > 0) { if (ddlpartido.SelectedIndex > 0) { sql = sql + "AND lid_lideranca.lid_cd_orgao='" + ddlorgao.SelectedValue + "' "; } else { sql = sql + "lid_lideranca.lid_cd_orgao='" + ddlorgao.SelectedValue + "' "; } } con.Open(); cmd.CommandText = sql; SqlDataReader dr = cmd.ExecuteReader(); gwDados.DataSource = dr; gwDados.DataBind();
Olá,
esses erros:
Por exemplo, quais superintendentes trabalham na Secretaria da Fazenda? ERRO: Incorrect syntax near 'lid_lideranca'. (02 parâmetros: cargo e órgão)
Quais vereadores, do município de Goiânia são do PMDB? ERRO: Incorrect syntax near 'lid_lideranca'.(03
parâmetros: cargo, partido e município)São erros de sql simples, você consegue resolve-los facilmente usando o debug. Após clicar em pesquisar, para voltar o drop para o item default use:
ddlTeste.SelectedIndex = 0;
Wennder Santos
Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.
- Marcado como Resposta markevis segunda-feira, 2 de junho de 2014 21:59
-
-
Blz Wennder,
Estou tentando implementar um mecanismo de busca passando parametros em uma stored procedure. A procedure esta funcionando perfeitamente. So nao estou conseguindo implementar em Asp.net C# o codigo para exibir o resultado da pesquisa em um gridview. Segue o codigo em Asp.Net C# e da StoredProcedure:
CREATE PROCEDURE [dbo].[spConsultaAliados] @nome nvarchar(200) = NULL, @cargo nvarchar(500) = NULL, @partido nvarchar(50) = NULL, @municipio nvarchar(57) = NULL, @base nvarchar(50) = NULL, @orgao nvarchar(255) = NULL AS BEGIN SET NOCOUNT ON SELECT dbo.aliados_municipio.lid_cd_lideranca, dbo.aliados_municipio.bas_base, dbo.aliados_municipio.part_sigla, dbo.aliados_municipio.orgao, dbo.aliados_municipio.lid_nome, dbo.aliados_municipio.lid_email, dbo.aliados_municipio.lid_facebook, dbo.aliados_municipio.lid_twitter, dbo.aliados_municipio.carg_cargo, dbo.aliados_municipio.lid_cargo2, dbo.aliados_municipio.municipios, dbo.aliados_municipio.lid_fone_celular, dbo.aliados_municipio.lid_fone_comercial, dbo.aliados_municipio.lid_endereco_comercial FROM dbo.aliados_municipio WHERE ((dbo.aliados_municipio.lid_nome LIKE '%' + @nome + '%') OR (@nome IS NULL)) AND ((dbo.aliados_municipio.carg_cargo = @cargo) OR (@cargo IS NULL)) AND ((dbo.aliados_municipio.part_sigla = @partido) OR (@partido IS NULL)) AND ((dbo.aliados_municipio.municipios = @municipio) OR (@municipio IS NULL)) AND ((dbo.aliados_municipio.bas_base = @base) OR (@base IS NULL)) AND ((dbo.aliados_municipio.orgao = @orgao) OR (@orgao IS NULL)) SELECT @@rowcount SET NOCOUNT OFF
Codigo Asp.net C#:
protected void btnSearch_Click(object sender, EventArgs e) { string conexao = @"Data Source=markevis-VAIO\SQLEXPRESS;Initial Catalog=SeplanGeral;User ID=sa;Password=123"; using (var cnn = new SqlConnection(conexao)) { using (var cmd = new SqlCommand("spConsultaAliados", cnn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@nome", tbPesqNome.Text.ToString()); cmd.Parameters.AddWithValue("@cargo", Convert.ToInt32(ddlcargo.SelectedValue)); cmd.Parameters.AddWithValue("@partido", Convert.ToInt32(ddlpartido.SelectedValue)); cmd.Parameters.AddWithValue("@municipio", Convert.ToInt32(ddlmunicipio.SelectedValue)); cmd.Parameters.AddWithValue("@base", Convert.ToInt32(ddlbasealiada.SelectedValue)); cmd.Parameters.AddWithValue("@orgao", Convert.ToInt32(ddlorgao.SelectedValue)); cnn.Open(); SqlDataReader dr = cmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(dr); gwDados.DataSource = dt; gwDados.DataBind(); } }