Fórum DataGrid não exibe apenas um registro #65425

10/12/2005

0

Amigos,

Eu adicionei em uma página ASP .NET um DataGrid, onde o usuário deverá digitiar uma informação e apertar um botão, em seguida em executo esta declaração: SELECT * FROM EMPRESA WHERE UPPER(NOMEEMP) LIKE ´¬DENOIR¬, a palavra DENOIR é o que o usuário digitou em um textbox.

Esta declaração deverá trazer apenas um registro, eu tenho certeza disso porque eu coloquei um Response.Write(rdr[´NOMEEMP´]) e o nome da empresa é exibido na página normalmente, mas não no DataGrid.

Se em seguida, sem sair da aplicação, eu executar uma consulta que traga mais de um registro, estes são exibidos normalmente no DataGrid.

Estou usando o banco e os provider do FireBird 1.5 no D2005 para acessar os dados.

Alguém tem alguma idéia do que está acontecendo?


Marcelo Oliveira

Marcelo Oliveira

Responder

Posts

12/12/2005

Idivaldo.mb

Olá!

No seu sqlcomand vc vai apontar para o datasource do seu do dbgrid e chamar o databind dele por exemplo:

datagrid.datasource:=sqlcommand,executereader;
datagrid.databind();

até mais..


Responder

Gostei + 0

12/12/2005

Idivaldo.mb

Olá!

No seu sqlcomand vc vai apontar para o datasource do seu do dbgrid e chamar o databind dele por exemplo:

datagrid.datasource:=sqlcommand,executereader;
datagrid.databind();

até mais..


Responder

Gostei + 0

12/12/2005

Marcelo Oliveira

Amigo,

Eu vou reproduzir abaixo os comandos que estou executando quando o usuário seleciona o botão da página:

procedure TWebForm1.btnLocalizar_Click(sender: System.Object; e: System.EventArgs);
var
strSql :string;
sqlCommand:FBCommand;
param :FBParameter;
rdr :FBDataReader;
begin
fbConexao.Open;
try
if txtLocalizar.Text <> ´´ then
begin
strSql:=´SELECT * FROM EMPRESA WHERE UPPER(NOMEEMP) LIKE ´;
sqlCommand :=FBCommand.Create(strSql, FBConexao);

case rdbTipo.SelectedIndex of
0: param.Value:=System.&String(txtLocalizar.Text.ToUpper) + ´¬´;
1: param.Value:=´¬´ + System.&String(txtLocalizar.Text.ToUpper) + ´¬´;
2: param.Value:=´¬´ + System.&String(txtLocalizar.Text.ToUpper);
end;

rdr:=sqlCommand.ExecuteReader;

if not rdr.Read then
begin
DataGrid1.DataSource:=rdr;
DataGrid1.DataBind;
rdr.Close;
Self.MessageBox1.ShowConfirmation(´Não foi encontrada nenhum empresa com este nome. Deseja incluir?´, ´Incluir´, True, False);
end
else
begin
response.Write(rdr[´nomeemp´].ToString);
DataGrid1.DataSource:=rdr;
DataGrid1.DataBind;
end;
end;
finally
fbConexao.Close;
end;
end;


Você consegue ver algo de errado?

Um forte abraço.


Responder

Gostei + 0

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

Aceitar