Consulta SQL

10/08/2006 - 17:02 por Roberto H. | Informe spam
Hola grupo,

Les escribo porque tengo una pregunta de principiante pero no sé resolverla,
necesito hacer una consulta ya sea SQL o Access en la cual me busque en un
campo tipo "text" una palabra que yo introduzco desde un campo Dropdownlist
(lista desplegable) pero en ese campo hay una frase que consta de varias
palabras y yo quiero identificar ese registro por esa palabra que contenga en
ese campo desde un Dropdownlist sólo introduzco una palabra, necesito una
consulta que me busque algo así:

"lo que sea" & "campo del drop list" & "lo que sea"

osea para hacerlo un poco más claro:

"*" & "palabra" & "*"

No sé si tal vez no me he explicado con claridad pero si es así, por favor
diganme que más necesitan saber.

Muchas gracias por anticipado.

Preguntas similare

Leer las respuestas

#1 Fernando O.
10/08/2006 - 17:21 | Informe spam
Hola Roberto,

Dejame ver si te entiendo...

Tu quieres buscar una frase formada por dos textos y el valor de una
variable en una determinada columna de una tabla, es asi?

Por que no pruebas algo asi?

Primero te armar un string con la frase a buscar, y la sentencia SQL seria:
SELECT * FROM myTable WHERE ColBusq = frase;

donde,
myTable es el nombre de la tabla;
ColBusq es el nombre de la columna donde quieres buscar
frase es este string que previamente habias armado

Espero que te sirva
Suerte y Saludos
Fernando

"Roberto H." wrote:

Hola grupo,

Les escribo porque tengo una pregunta de principiante pero no sé resolverla,
necesito hacer una consulta ya sea SQL o Access en la cual me busque en un
campo tipo "text" una palabra que yo introduzco desde un campo Dropdownlist
(lista desplegable) pero en ese campo hay una frase que consta de varias
palabras y yo quiero identificar ese registro por esa palabra que contenga en
ese campo desde un Dropdownlist sólo introduzco una palabra, necesito una
consulta que me busque algo así:

"lo que sea" & "campo del drop list" & "lo que sea"

osea para hacerlo un poco más claro:

"*" & "palabra" & "*"

No sé si tal vez no me he explicado con claridad pero si es así, por favor
diganme que más necesitan saber.

Muchas gracias por anticipado.
Respuesta Responder a este mensaje
#2 doliveras
10/08/2006 - 18:05 | Informe spam
Esto lo conseguiras con la sentencia LIKE.

En SQL Server

SELECT *
FROM myTable WHERE campto_text LIKE '%texto_que_buscas%'

En Access si no recuerdo mal los % deben ser *, pero hace mucho que no
lo utilizo y no lo recuerdo bien.


Roberto H. wrote:
Hola grupo,

Les escribo porque tengo una pregunta de principiante pero no sé resolverla,
necesito hacer una consulta ya sea SQL o Access en la cual me busque en un
campo tipo "text" una palabra que yo introduzco desde un campo Dropdownlist
(lista desplegable) pero en ese campo hay una frase que consta de varias
palabras y yo quiero identificar ese registro por esa palabra que contenga en
ese campo desde un Dropdownlist sólo introduzco una palabra, necesito una
consulta que me busque algo así:

"lo que sea" & "campo del drop list" & "lo que sea"

osea para hacerlo un poco más claro:

"*" & "palabra" & "*"

No sé si tal vez no me he explicado con claridad pero si es así, por favor
diganme que más necesitan saber.

Muchas gracias por anticipado.
Respuesta Responder a este mensaje
#3 Roberto H.
11/08/2006 - 21:01 | Informe spam
Gracias Fernando y Doliveras, por vuestra ayuda, mira, lo cierto es que os
pido disculpas porque la verdad no me supe explicar, creo que doliveras se
acercó bastante. Mira os pongo exáctamente lo que no consigo hacer y creo que
lo tengo bien pero no estoy seguro porque soy nuevo en esto. Os pego a
continuación el código de la parte del procedimiento que se activa al pulsar
un "button"

*****************************
Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As
System.EventArgs)

'Dim strMes As String

Dim conConexion As OleDbConnection
Dim strSelect As String
Dim cmdSelect As OleDbCommand

'strMes = DropMeses.SelectedValue 'Guarda el valor del mes
seleccionado

conConexion = New
OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=C:\Documents
and Settings\AS61\Desktop\Web\App_Dataotificaciones.mdb")
strSelect = "Select fecha From notificaciones Where fecha Like '*'
& @meses & '*'"

cmdSelect = New OleDbCommand(strSelect, conConexion)
cmdSelect.Parameters.Add("@meses", DropMeses.Text)

conConexion.Open()

txtResultado.Text = cmdSelect.ExecuteScalar()

conConexion.Close()

End Sub

**********************
Ahora os pego la parte de los dos objetos, uno es la lista desplegable
(DropDownList) a la que hace referencia el procedimiento anterior y el Button
que hace disparar el evento del procedimiento, por útimo, está el campo de
texto (TextBox) donde quiero que aparezca el resultado de la consulta, quiero
que con cmdSelect.ExecuteScalar() me devuelva sólo el primer registro en caso
de encontrar más si estoy equivocado, por favor diganme como sustituirlo. Lo
que realmente quiero, es que cuando pulso el botón "Buscar" me devuelva el
primer resultado del campo "fecha" y que aparezca la palabra por ejemplo
"August", pero el problema, es que en ese campo fecha, la fecha es completa,
osea así: "Wednesday, August 09, 2006 3:00 PM". No sé si tal vez me estoy
complicando o si hay una manera más sencilla de hacer esto.



**********************

<form id="Form1" runat="server">
<asp:DropDownList ID="DropMeses" runat="server">
<asp:ListItem Value="January">Enero</asp:ListItem>
<asp:ListItem Value="February">Febrero</asp:ListItem>
<asp:ListItem Value="March">Marzo</asp:ListItem>
<asp:ListItem Value="April">Abril</asp:ListItem>
<asp:ListItem Value="May">Mayo</asp:ListItem>
<asp:ListItem Value="June">Junio</asp:ListItem>
<asp:ListItem Value="July">Julio</asp:ListItem>
<asp:ListItem Value="August">Agosto</asp:ListItem>
<asp:ListItem Value="September">Septiembre</asp:ListItem>
<asp:ListItem Value="October">Octubre</asp:ListItem>
<asp:ListItem Value="November">Noviembre</asp:ListItem>
<asp:ListItem Value="December">Diciembre</asp:ListItem>
</asp:DropDownList>

<asp:Button ID="btnBuscar" runat="server" Text="Buscar"
OnClick="btnBuscar_Click" />
<br>
<asp:TextBox ID="txtResultado" runat="server"></asp:TextBox><br />

**********************

Bueno grupo, de antemano les doy las gracias ya de tan sólo leer este post
tan grande. Gracias.
Respuesta Responder a este mensaje
#4 Roberto H.
11/08/2006 - 21:23 | Informe spam
Hola denuevo,

Gracias de nuevo a Fernando y Dolivares, ya encontré POR FIN el error que
tenía, la pista me la dió Dolivares cuando me dijo esto: "En Access si no
recuerdo mal los % deben ser *"

Efectivamente Dolivares, ese fue mi error que yo estaba haciendo esta página
en ASP.NET y la consulta la había importado de Access y me la transladó así
con los asteríscos, fue cambiarlo al símbolo del porcentaje y funcionó, os
pongo el cambio para que si algún novato como yo le pasa le sirva.

Este fue mi error:

************
Select fecha From notificaciones Where fecha Like '*' & @meses & '*'
************

y esta es la solución:

************
Select fecha From notificaciones Where fecha Like '%' & @meses & '%'
************

Una vez más gracias Fernando y Doliveras.
Respuesta Responder a este mensaje
#5 Roberto H.
11/08/2006 - 21:23 | Informe spam
Hola denuevo,

Gracias de nuevo a Fernando y Dolivares, ya encontré POR FIN el error que
tenía, la pista me la dió Dolivares cuando me dijo esto: "En Access si no
recuerdo mal los % deben ser *"

Efectivamente Dolivares, ese fue mi error que yo estaba haciendo esta página
en ASP.NET y la consulta la había importado de Access y me la transladó así
con los asteríscos, fue cambiarlo al símbolo del porcentaje y funcionó, os
pongo el cambio para que si algún novato como yo le pasa le sirva.

Este fue mi error:

************
Select fecha From notificaciones Where fecha Like '*' & @meses & '*'
************

y esta es la solución:

************
Select fecha From notificaciones Where fecha Like '%' & @meses & '%'
************

Una vez más gracias Fernando y Doliveras.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida