DataGrid não exibe apenas um registro

Delphi

10/12/2005

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

Curtidas 0

Respostas

Idivaldo.mb

Idivaldo.mb

10/12/2005

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..


GOSTEI 0
Idivaldo.mb

Idivaldo.mb

10/12/2005

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..


GOSTEI 0
Marcelo Oliveira

Marcelo Oliveira

10/12/2005

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.


GOSTEI 0
POSTAR