Usuário com melhor resposta
Vários parâmetros em consulta sql

Pergunta
-
Olá pessoal, eu tenho uma consulta com 2 parametros, mas quando executo o visual studio 2010 ele só me compara com o ultimo parametro, neste exemplo o EmpID
SelectCommand="SELECT EmployeeID, LastName, FirstName, Address, City, Region, PostalCode FROM Employees WHERE @CAIXATEXTO like @EmpID", se eu trocasse a ordem o parametro comparado seria apenas o CAIXATEXTO
<SelectParameters> <asp:ControlParameter ControlID="EmployeesDropDownList" PropertyName="SelectedValue" Name="EmpID" Type="Int32" DefaultValue="0" />
<asp:ControlParameter ControlID="textbox1" Name="CAIXATEXTO" " />
</SelectParameters>
Obrigado pessoal pelo vosso tempo- Editado Bairos quinta-feira, 21 de abril de 2011 02:04 erro no codigo, sorry
Respostas
-
Amigo, como voce e iniciante, acho que estas a pedir coisa que voce vai ter dificuldade em entender.
pra voce fazer isto vais ter de criar parametros.
Vais te encher uma combobox com os campos da sua tabela.
por exemplo:
nome
classe
turma
datadenascimento
depois adapta assim
select case Combobox
case "nome"
select * from tabela Where +combobox.text = "@pesquizar"
case "classe"
select * from tabela Where +combobox.text = "@pesquizar"
end select
assim voce consegue fazer.
One word frees us of all the weight and pain of life: that word is love.- Marcado como Resposta Bairos quinta-feira, 28 de abril de 2011 22:43
-
Ok.. vamos por partes:
Dim comando As String = String.Format("SELECT nome,ultimo From registo where @campo like Textbox1.text")
voce não pode usar parametros para definir o campo... somente para o valor do campo... e vc tambem não deve informar o componente (Textbox1.text) na sua query, nesse ponto é que vc tem que usar o paramentro...Como voce disse que o campo de consulta é variavel... o certo é voce montar a sua query dinamicamente...
Dim campo As String = "Estado"
Dim comando As String = String.Format("SELECT nome, ultimo From registo where {0} like @valor", campo)
Dim con As MySqlConnection = New MySqlConnection("database=bdfaltas;username=root;password=bdutilizador;server=localhost")
Dim executa As MySqlCommand = New MySqlCommand(comando, con)
executa.Parameters.AddWithValue("@valor", Textbox1.Text)[...]
- Marcado como Resposta Bairos quinta-feira, 28 de abril de 2011 22:43
Todas as Respostas
-
Ola,
acredito que vc quer fazer algo paressido com isso na verdade:
SelectCommand="SELECT EmployeeID, LastName, FirstName, Address, City, Region, PostalCode FROM Employees WHERE EmployeeID = @EmpID and FirstName like @CAIXATEXTO"
- Sugerido como Resposta Levi Domingos quinta-feira, 21 de abril de 2011 19:52
-
Ola Rui,
eu quero eque a seguir ao where ele mude o campo conforme a esclha do utilizador, se o radiobutonlist tiver o slectedvalue=data owhere pesquisa segundo o campo data, se tiver o valor id, ele pesquisa pelo campo ID, exemplo,
exemplo se o rblistselected.value=DAta
Select...where @data like @textbox
--exemplo se o rblistselected.value=data
Select...where @ID like @textbox
--exemplo se o rblistselected.value=ID
os parametros veem do rabiobuttonlist e caixa de texto
-
Amigo, como voce e iniciante, acho que estas a pedir coisa que voce vai ter dificuldade em entender.
pra voce fazer isto vais ter de criar parametros.
Vais te encher uma combobox com os campos da sua tabela.
por exemplo:
nome
classe
turma
datadenascimento
depois adapta assim
select case Combobox
case "nome"
select * from tabela Where +combobox.text = "@pesquizar"
case "classe"
select * from tabela Where +combobox.text = "@pesquizar"
end select
assim voce consegue fazer.
One word frees us of all the weight and pain of life: that word is love.- Marcado como Resposta Bairos quinta-feira, 28 de abril de 2011 22:43
-
-
-
Caro Rui, desde já obrigado pela ajuda, eu estou a utilizar VB.NET e continuo sem saber como posso gerar a gridiew, o problema está no local onde o texto está seleccionado:
Dim comando As String = String.Format("SELECT nome,ultimo From registo where @campo like Textbox1.text)
Dim con As MySqlConnection = New MySqlConnection("database=bdfaltas;username=root;password=bdutilizador;server=localhost")
Dim executa As MySqlCommand = New MySqlCommand(comando, con)
con.Open()
Dim myreader As MySqlDataReader
myreader = executa.ExecuteReader
While myreader.Read()
Me.GridView1.Columns.Add(“Estado”) ‘ESTE DA ERRO (nao pode converter string em datavaluefield)
‘O que posso colocar aqui para gerar a gridview?
End While
myreader.Close()
con.Close()
Cumprimentos.
-
Ok.. vamos por partes:
Dim comando As String = String.Format("SELECT nome,ultimo From registo where @campo like Textbox1.text")
voce não pode usar parametros para definir o campo... somente para o valor do campo... e vc tambem não deve informar o componente (Textbox1.text) na sua query, nesse ponto é que vc tem que usar o paramentro...Como voce disse que o campo de consulta é variavel... o certo é voce montar a sua query dinamicamente...
Dim campo As String = "Estado"
Dim comando As String = String.Format("SELECT nome, ultimo From registo where {0} like @valor", campo)
Dim con As MySqlConnection = New MySqlConnection("database=bdfaltas;username=root;password=bdutilizador;server=localhost")
Dim executa As MySqlCommand = New MySqlCommand(comando, con)
executa.Parameters.AddWithValue("@valor", Textbox1.Text)[...]
- Marcado como Resposta Bairos quinta-feira, 28 de abril de 2011 22:43
-