DataGrid não exibe apenas um registro
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?
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
Curtidas 0
Respostas
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..
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
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..
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
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.
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