Fórum Fazer pesquisa em banco sql e exibir no GRIDVIEW #66781

25/03/2009

0

Pessoal preciso saber como faço uma busca em um banco SQL e exibir em um GRIDVIEW. Eu tenho um textbox e um button ao clicar no button exibe os registros no gridview. Sou novo em ASP.NET e gostaria de uma ajuda. Agradeço antecipadamente.


Tiagom

Tiagom

Responder

Posts

26/03/2009

Pauloroger

E ai tiago, beleza, primeiramente, vamos saber qual Delphi vc está trabalhando e qual Banco de Dados, para darmos um exemplo melhor.


Responder

Gostei + 0

26/03/2009

Pauloroger

Eu gosto de trabalha com Stored Procedures em relação a Web, pois me agilizam bastante em questão de velocidade. Vou dar um exemplo de Store Procedure e um Exemplo de SQL na apliação ok. Usando Delphi 2007 .Net e MSSqlServer2005.

No Uses coloco:
System.Data.SqlClient, //para trabalhar com SQLServer


Antes do [b:d1356c88a5]Implementation[/b:d1356c88a5] e coloco minha string de conexão, vc poderá trabalhar também junto ao Web.Config mas prefiro trabalhar assim, pois tenho vários servidores.

//CONEXAO COM O BANCO DE DADOS
const
strConexao = ´Data Source=LINUX3\SQLEXPRESS;Initial Catalog=BancoDeDados01;Persist Security Info=True;User ID=sa;Password=leaodejuda´;

Com Store Procdure:

var
Comand : SqlCommand;
Conn : SqlConnection;
SqlReader : SqlDataReader;

begin

Conn := SqlConnection.Create(strConexao);
Comand := SqlCommand.Create(´ProcuraPorNome´, Conn);
Comand.CommandType := CommandType.StoredProcedure;
Comand.Parameters.Add(´@NOME´, txtLocalizar.Text.ToUpper);
Conn.Open;
SqlReader := Comand.ExecuteReader;

try
GridView1.DataSource := SqlReader;
GridView1.DataBind;
finally
Conn.Close;
end;


//*************************************************

Usando SQL na Aplicação, depende da quantidade das sua requisições, eu uso mais para aplicações com Banco de Dados Firebird, porem poderá ser adaptada para SQLServer, veja exemplo:

var
Comand: FbCommand;
DataAdapter: FbDataAdapter;
Conn: FbConnection;
fbReader : FbDataReader;

prNOME : FbParameter;

begin
{ Criação dos objetos de conexão }
Conn := FbConnection.Create;
DataAdapter := FbDataAdapter.Create;
Comand := FbCommand.Create;
{ Atribuição da string de conexão e abertura do BD}
Conn.ConnectionString := strConexao;
Conn.Open;
{ Atribuição dos atributos de seleção dos dados }
DataAdapter.SelectCommand := Comand;
DataAdapter.SelectCommand.Connection := Conn;
DataAdapter.SelectCommand.CommandText :=
´SELECT A.COD_CLIENTE, A.NOME, A.ENDERECO, A.FONE, A.DATA_NASC, A.CPF FROM CLIENTES A ´ +
´WHERE (A.NOME like ?) ORDER BY A.NOME´;

prNOME := FbParameter.Create;
DataAdapter.SelectCommand.Parameters.Add(prNOME);
DataAdapter.SelectCommand.Parameters[0].Value := ´¬´ + txtLocalizar.Text + ´¬´;
fbReader := DataAdapter.SelectCommand.ExecuteReader;

{ Criaçã em memória do DataSet auxliar }

try
gridClientes.DataSource := fbReader;
gridClientes.DataBind;
finally
Conn.Close;
end;


Use sua imaginação agora, ok.

Um abração.


Responder

Gostei + 0

26/03/2009

Tiagom

Paulo, estou usando Delphi.net 2007 e SQL SERVER Express 2005


Responder

Gostei + 0

26/03/2009

Tiagom

Paulo uma dúvida, esta parte eu coloco no on_load da minha página certo? e a parte que você me passou utilizando Firebird, seria o evento do botão? Sei que terei que adaptar para SQL, mas estou com essa duvida.

(var
Comand : SqlCommand;
Conn : SqlConnection;
SqlReader : SqlDataReader;

begin

Conn := SqlConnection.Create(strConexao);
Comand := SqlCommand.Create(´ProcuraPorNome´, Conn);
Comand.CommandType := CommandType.StoredProcedure;
Comand.Parameters.Add(´@NOME´, txtLocalizar.Text.ToUpper);
Conn.Open;
SqlReader := Comand.ExecuteReader;

try
GridView1.DataSource := SqlReader;
GridView1.DataBind;
finally
Conn.Close;
end;)

Obrigado.


Responder

Gostei + 0

26/03/2009

Pauloroger

Não , essa parte é no on_click do seu botão de procura.

No Uses coloco:
System.Data.SqlClient, //para trabalhar com SQLServer


Antes do Implementation e coloco minha string de conexão, vc poderá trabalhar também junto ao Web.Config mas prefiro trabalhar assim, pois tenho vários servidores.

//CONEXAO COM O BANCO DE DADOS
const
strConexao = ´Data Source=LINUX3\SQLEXPRESS;Initial Catalog=BancoDeDados01;Persist Security Info=True;User ID=sa;Password=leaodejuda´;

Com Store Procdure:

No botão:

procedure TCadClientes.btProcurar_Click(sender: System.Object; e: System.EventArgs);
var
Comand : SqlCommand;
Conn : SqlConnection;
SqlReader : SqlDataReader;

begin

Conn := SqlConnection.Create(strConexao);
Comand := SqlCommand.Create(´ProcuraPorNome´, Conn);
Comand.CommandType := CommandType.StoredProcedure;
Comand.Parameters.Add(´@NOME´, txtLocalizar.Text.ToUpper);
Conn.Open;
SqlReader := Comand.ExecuteReader;

try
GridView1.DataSource := SqlReader;
GridView1.DataBind;
finally
Conn.Close;
end;
end;



No SQLServerExpress2005 crie um procedure assim:
-- =============================================
-- Author:Paulo Freire
-- Create date: 23/11/2006
-- Description:Procura Cliente por Nome
-- =============================================
CREATE PROCEDURE ProcuraPorNome (
@NOME VARCHAR(60)
)
AS
SELECT * FROM CLIENTES
WHERE CLIENTES.NOME LIKE ´¬´ + @NOME + ´¬´


Responder

Gostei + 0

26/03/2009

Tiagom

Muito Obrigado pela ajuda Paulo, desculpe se estou incomodando, é to começando no .Net


Responder

Gostei + 0

27/03/2009

Pauloroger

que nada, se precisar estamos ai, nos sempre começamos como você, perguntando, rsrsrsrs. Um abração.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar