ASP.NET - Hacer buscador para BD

 
Vista:

Hacer buscador para BD

Publicado por Jose Luis López (6 intervenciones) el 22/05/2008 10:42:10
Hola foreros,

La duda que planteo es el como se puede crear un buscador web,que una vez introducidos los datos le demos a un boton y este busque los datos en una BD en formato mdb y los datos encontrados los muestre por pantalla en otra página.El código que tengo hasta ahora es el siguiente:

Sub buchen(ByVal sender As Object, ByVal e As EventArgs)

Dim db As String
db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("Theater2.mdb") & ";"
' Verbindung zur Datenbank herstellen
Dim conn As New OleDbConnection(db)
conn.Open()
' SQL-Kommando erstellen und ausführen
Dim sql As String


Dim name_Ver As String
Dim DatumTag_Ver As String
Dim DatumMonate_Ver As String

name_Ver = Titles.Text & Chr(20)
DatumTag_Ver = Tag.Text & Chr(20)
DatumMonate_Ver = Monate.Text & Chr(20)


sql = "SELECT * FROM Veranstaltugen WHERE name_Ver='Name_Ver' AND ;"

Muchas gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Hacer buscador para BD

Publicado por Javier Santamaria (59 intervenciones) el 22/05/2008 12:36:25
Hola,

Lo primero de todo es saber si esos tres parametros de busqueda han de estar rellenos siempre, de lo contrario compararemos con vacio y no funcionara.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Jose Luis López (6 intervenciones) el 22/05/2008 13:04:14
Hola,

Lo primero agradecer tu respuesta, y si esos parámetros siempre tienen que estar llenos ya que son para buscar en una base de datos donde se encuentran unas funciones de cine.Los datos en esos campos debe de meterse a mano exceptuando el de fecha,que no se si hacerlo que se meta a mano o o no, para hacer la búsqueda en la base de datos mas sencilla.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Javier Santamaria (59 intervenciones) el 23/05/2008 11:28:12
Hola, entonces si siemrpe vas a pasar los tres parametros es facil. Te dejo un ejemplo, pruebalo y me dices si te funciona:

(Todo lo demas igual, empiezo desde aqui para que veas por donde va el tema)

Dim name_Ver As String
Dim DatumTag_Ver As String
Dim DatumMonate_Ver As String

name_Ver = Titles.Text & Chr(20)
DatumTag_Ver = Tag.Text & Chr(20)
DatumMonate_Ver = Monate.Text & Chr(20)

sql = "SELECT * FROM Veranstaltugen WHERE name_Ver='" & name_Ver & "' AND datumtag='" & DatumTag_Ver & "' AND datummonate='" & DatumMonate_Ver & "'"

Esa seris al consulta si usas los textbox para la fecha, si usas la fecha del sistema simplemente no metas el valor de las variables de fecha y mete el valor de now.date

Espero que te sirva

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Jose Luis López (6 intervenciones) el 24/05/2008 11:18:25
Muchas gracias,voy a intentarlo a ver si funciona y ya cuento que tal.Por cierto otra pregunta,como hago para que estos resultados se habrán en otra página,es decir,que le de al boton buchen y los resultados que coincidan con la búsqueda aparezcan en otra página?

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Javier Santamaria (59 intervenciones) el 26/05/2008 11:41:43
Create una segunda pagina con el control que quieras para mostrar los resultados, es decir, un grdiview, un detailsview, un formview... Cuando hagas click en buscar manda los datos por sesion o como parametros en la url y la sentencia SQL con los datos la armas en el page load de la segunda pagina. Luego asignas la sentencia SQL a un datasource y asignas el datasource a tu control. Haces un binding de los datos en el datasource y listo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Jose Luis López (6 intervenciones) el 30/05/2008 16:42:05
Hola,

siguiendo tu consejo,he hecho el siguiente código,pero estoy atascado espero que me puedas ayudar ya que veo la luz al final del tunel pero me hace falta un pequeño empujon.
En el siguiente codigo esta cuando hacemos click en buscar,este hace que envie a la otra página el resultado que ha cogido en el texto donde queremos buscar la peli.

Sub buchen(ByVal sender As Object, ByVal e As EventArgs)

Dim name_Ver As String

name_Ver = Titles.Text & Chr(20)

Response.Redirect("zeigenVeranstaltungen.aspx?name=name_Ver", True)

End Sub

Entonces ahora nos vamos a la otra página y nos encontramos con esto

<%
Dim db As String
db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("Theater2.mdb") & ";"

Dim conn As New OleDbConnection(db)
conn.Open()

Dim sql As String

Dim name_Ver As String

name_Ver = Request.QueryString("name_Ver")

sql = "SELECT * FROM Veranstaltugen WHERE name_Ver='" & name_Ver

%>
Ahora seria como puedo mostrar el resultado de sql,es que he estado buscando sobre el gridview,he obtenido el codigo como se hace pero no se que debo modificar.Si hay otra forma más facil de imprimir los datos por pantalla,estoy abierto a distintos consejos

<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="true"
emptydatatext="No data available."
allowpaging="true"
runat="server">
</asp:gridview>

<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>

</form>
</body>
</html>

Muchas gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Jose Luis López (6 intervenciones) el 30/05/2008 19:03:55
Bueno he escrito lo anterior,pero no se modificarlo o creo que no se puede modificar, es que me ha salido otro problema y es que cuando paso el parámetro por Url,no me guarda el valor que tiene name_Ver,siempre se va a enviar lo que haya despues de name=, que en este caso siempre va a ser Name_Ver y no lo que coja la casilla.Asi que le añadimos este problema mas.

Un saludo y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Jose Luis López (6 intervenciones) el 01/06/2008 18:29:19
Hola de nuevo,

Pues he estado probando nuevas cosas y supuestamente lo de pasar datos por parámetro he encontrado ya la solución, en la página menu cuando le doy a pulsar el boton buchen hace la siguiente instrucción:

Sub buchen(ByVal sender As Object, ByVal e As EventArgs)

Dim name_Ver As String
Dim DatumTag_Ver As String
Dim DatumMonate_Ver As String

name_Ver = Titles.Text
DatumTag_Ver = Tag.Text
DatumMonate_Ver = Monate.Text


Response.Redirect("zeigenVeranstaltungen.aspx?id=" & name_Ver & "", True)


End Sub

Solo envio name_Ver porque estoy probando

Ahora en la página donde quiero que se imprima los resultados de la búsqueda y se realice la búsqueda escribo esto otro:

Sub Page_Load()
Dim name_Ver As String

name_Ver = Request.QueryString("id")
Response.Write("<b>variable1: </b>" & name_Ver)
Dim db As String
db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("Theater2.mdb") & ";"

Dim conn As New OleDbConnection(db)
conn.Open()

Dim sql As String
sql = "SELECT * FROM Veranstaltugen WHERE name_Ver= 'name_Ver' "
Dim cmd As New OleDbCommand(sql, conn)
Dim myReader As OleDbDataReader
myReader = cmd.ExecuteReader()
Dim sb As New StringBuilder()
While myReader.Read()
sb.Append(myReader.Item("Name_ver"))
sb.Append(" <br />")
sb.Append(myReader.Item("Datum_ver"))
sb.Append("<br />")
sb.Append(myReader.Item("Uhr_ver"))
sb.Append("</a>")
sb.Append("<hr />")
End While
ausgabe.InnerHtml = sb.ToString()
myReader.Close()
conn.Close()
End Sub

Pero no funciona nada,sabe alguien algo donde puede estar el fallo?

Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer buscador para BD

Publicado por Javier Santamaria (59 intervenciones) el 03/06/2008 11:47:41
Hola,

He hecho un ejemplo de configuracion del sqldatasource. Tu haz lo mismo con un accessdatasource:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TuConnectionString %>" SelectCommand="SELECT * FROM [NombreTabla] WHERE ([Campo] = @Parametro)">
<SelectParameters>
<asp:QueryStringParameter Name="Parametro" QueryStringField="ParametroQueryString" Type="String" />
</SelectParameters>
</asp:SqlDataSource>

Esto estara cargado en el sqldatasource cuando cargues la pagina. Simplemente crea un gridview y lo enlazas a este datasource.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar