Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MaiconCarlos

Busca em Asp.net

Recommended Posts

Olhe o código abaixo:

 

<%@ Page Language="VB" Debug="True" Trace="false" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.OleDb" %><script runat="server">    Sub btnProcura_OnClick(sender as Object, e as EventArgs)        dgPaging.CurrentPageIndex = 0        MostraDataGrid()    End Sub    Sub PageChange(sender As Object, e As DataGridPageChangedEventArgs)        dgPaging.CurrentPageIndex = e.NewPageIndex        MostraDataGrid()    End Sub    Sub MostraDataGrid()        Dim objConnection As OleDbConnection        Dim objCommand    As OleDbCommand        Dim objAdapter    As OleDbDataAdapter        Dim objDataSet    As DataSet        Dim strProcura     As String        Dim strSQLConsulta   As String        Dim strConn        As String  dim objreader  as oledbdatareader        strProcura = txtProcura.Text        If Len(Trim(strProcura)) > 0 Then       strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("alvo.mdb")            objConnection = New OleDbConnection(strConn)                strSQLConsulta = "SELECT Nome AS Nome, Endereço AS Endereço, Telefone AS Telefone " _                & "FROM tblpessoas " _                & "WHERE Nome LIKE '%" & Replace(strProcura, "'", "''") & "%' " _                & "OR Endereço LIKE '%" & Replace(strProcura, "'", "''") & "%' " _    & "OR telefone LIKE '%" & Replace(strProcura, "'", "''") & "%' " _                & "ORDER BY idpessoas;"            objCommand = New OleDbCommand(strSQLConsulta, objConnection)            objAdapter = New OleDbDataAdapter(objCommand)            objDataSet = New DataSet()            objAdapter.Fill(objDataSet)            dgPaging.DataSource = objDataSet            dgPaging.DataBind()            objConnection.Close()        Else            txtProcura.Text = "Informe o seu texto para busca aqui"        End If    End Sub</script><form runat="server">        <p>         </p>        <asp:TextBox id="txtProcura" runat="server" Width="262px"></asp:TextBox>        <asp:Button id="btnProcura" onclick="btnProcura_OnClick" runat="server" Text="Procurar"></asp:Button>        <p>       </p>        <asp:DataGrid id="dgPaging" runat="server" OnPageIndexChanged="PageChange" PageSize="5" AllowPaging="True"></asp:DataGrid>    </form>

Esse sistema faz uma busca na tabela: tblpessoas, só que eu preciso de algo mais complexo, por exemplo, minha busca deveria buscar na tabela, x, y e z, do db, pois na tabelaX ele buscaria Nome, Endereço; na tabelaY NomePai, Endereço, e na tableZ NomeMae, endereço ficaria assim:

 

        <asp:TextBox id="txtbuscatabelaX" runat="server" Width="262px"></asp:TextBox>        <p>          <asp:TextBox id="txtbuscatabelaY" runat="server" Width="262px"></asp:TextBox>        </p>        <p>          <asp:TextBox id="txtbuscatabelaZ" runat="server" Width="262px"></asp:TextBox>

 

Já fiz algumas tentativas sem sucesso, alguém não conhece algum artigo, livro, ou qualquer coisa que possa me dar passar uma base de como fazer isso?

 

ah, eu tentei fazer a busca usando Procedure Armazenada mas tmb nao consegui o que queria...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Maicon,

Creio que isso que você quer fazer seja feito direto no SQL e não no ASP. Por exemplo:

 

Caso as suas duas tabelas sejam relacionadas, você pode fazer da seguinte forma:

 

select x.codigo, x.nome, y.nomefrom tabelaX as Xinner join tabelaY as Yon x.ycodigo = y.codigo

Mas caso suas tabelas não sejam relacionadas, você pode tentar usar a instrução UNION do SQL que une várias consultas.

 

Select codigofrom tabelaXUNIONselect codigofrom tabelaY

Espero que tenha ajudado,

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Maicon,

Creio que isso que você quer fazer seja feito direto no SQL e não no ASP. Por exemplo:

 

Caso as suas duas tabelas sejam relacionadas, você pode fazer da seguinte forma:

 

select x.codigo, x.nome, y.nomefrom tabelaX as Xinner join tabelaY as Yon x.ycodigo = y.codigo
Mas caso suas tabelas não sejam relacionadas, você pode tentar usar a instrução UNION do SQL que une várias consultas.

 

Select codigofrom tabelaXUNIONselect codigofrom tabelaY
Espero que tenha ajudado,

 

[]´s

<{POST_SNAPBACK}>

Valewww....

 

Vou ver se consigo em sql... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.