Problemas quando exclui - Cursor not return from Query
Olá.
Será que os amigos, porderião me ajudar com este problema?
É o seguinte.
Quando mando excluir qualquer coisa do meu grid, ele exclui a linha, mas me retorna este Erro: SQLQueryGridProdutos: Cursor not return from Query
Abaixo segue meu código:
Inicio meu form assim:
No botão excluir, este código:
Lembrando que utilizei este código desta forma, porque no meu DBGrid -> Options -> dgRowSelect := True
Quando compilo o programa e clico em excluir, ele exclui.
Mas me retorna este erro: SQLQueryGridProdutos: Cursor not return from Query
O mais estranho, que até ontem de noite funcionava ... :x
Podem me ajudar?
Agradeço.
Att.
Será que os amigos, porderião me ajudar com este problema?
É o seguinte.
Quando mando excluir qualquer coisa do meu grid, ele exclui a linha, mas me retorna este Erro: SQLQueryGridProdutos: Cursor not return from Query
Abaixo segue meu código:
Inicio meu form assim:
procedure TFormProdutos.FormShow(Sender: TObject); begin //Joga as informacoes da tabela especificada dentro do Grid deste form DMVendaseServicosGrids.SQLQueryGridProdutos.Active := False; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Clear; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(´SELECT *, IF (REFERENCIA IS NULL,1,0) AS enulo FROM cadastro_de_produtos ORDER BY enulo ASC, REFERENCIA ASC´); DMVendaseServicosGrids.SQLQueryGridProdutos.Open; DMVendaseServicosGrids.ClientDataSetGridProdutos.Active := True; //Fim do código. //Manda o Focu para o DBGrid DBGridFormProdutos.SetFocus; //Fim do codigo. end;
No botão excluir, este código:
Lembrando que utilizei este código desta forma, porque no meu DBGrid -> Options -> dgRowSelect := True
procedure TFormProdutos.SpeedButtonExcluirFormProdutosClick(Sender: TObject); var ConfirmacaoMsg: Integer; CodigoGridDelete : String; begin CodigoGridDelete := DMVendaseServicosGrids.ClientDataSetGridProdutos.FieldByName(´CODIGO_ID´).AsString; Begin ConfirmacaoMsg := Application.MessageBox (´Deseja realmente apagar este cadastro selecionado?´,´Mensagem´, MB_YESNO+ mb_DefButton1+MB_ICONQUESTION); If (ConfirmacaoMsg=idyes) then Begin //Deleta a informação que estiver selecionada DMVendaseServicosGrids.SQLQueryGridProdutos.Active := False; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Clear; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(´delete from cadastro_de_produtos where CODIGO_ID =´); DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(CodigoGridDelete); DMVendaseServicosGrids.SQLQueryGridProdutos.Open; //Fim do código. //Joga as informacoes da tabela especificada dentro do Grid deste form DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Clear; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(´SELECT *, IF (REFERENCIA IS NULL,1,0) AS enulo FROM cadastro_de_produtos ORDER BY enulo ASC, REFERENCIA ASC´); DMVendaseServicosGrids.SQLQueryGridProdutos.Open; DMVendaseServicosGrids.SQLQueryGridProdutos.Active := True; //Fim do código. //Manda o Focu para o DBGrid DBGridFormProdutos.SetFocus; //Fim do codigo. end else Begin Abort; end; end; end;
Quando compilo o programa e clico em excluir, ele exclui.
Mas me retorna este erro: SQLQueryGridProdutos: Cursor not return from Query
O mais estranho, que até ontem de noite funcionava ... :x
Podem me ajudar?
Agradeço.
Att.
Devmedia
Curtidas 0
Respostas
Devmedia
13/10/2007
Fuçando consegui.
Att.
procedure TFormProdutos.SpeedButtonExcluirFormProdutosClick(Sender: TObject); var ConfirmacaoMsg: Integer; CodigoGridDelete : String; begin CodigoGridDelete := IntToStr(DMVendaseServicosGrids.ClientDataSetGridProdutos.FieldByName(´CODIGO_ID´).AsInteger); Begin ConfirmacaoMsg := Application.MessageBox (´Deseja realmente apagar este cadastro selecionado?´,´Mensagem´, MB_YESNO+ mb_DefButton1+MB_ICONQUESTION); If (ConfirmacaoMsg=idyes) then Begin //Deleta a informação que estiver selecionada DMVendaseServicosGrids.ClientDataSetGridProdutos.Active := False; DMVendaseServicosGrids.SQLQueryGridProdutos.Active := False; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Clear; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(´delete from cadastro_de_produtos where CODIGO_ID =´); DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(CodigoGridDelete); DMVendaseServicosGrids.SQLQueryGridProdutos.ExecSQL; //Fim do código. //Joga as informacoes da tabela especificada dentro do Grid deste form DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Clear; DMVendaseServicosGrids.SQLQueryGridProdutos.SQL.Add(´SELECT *, IF (REFERENCIA IS NULL,1,0) AS enulo FROM cadastro_de_produtos ORDER BY enulo ASC, REFERENCIA ASC´); DMVendaseServicosGrids.SQLQueryGridProdutos.Open; DMVendaseServicosGrids.SQLQueryGridProdutos.Active := True; DMVendaseServicosGrids.ClientDataSetGridProdutos.Active := True; //Fim do código. //Manda o Focu para o DBGrid DBGridFormProdutos.SetFocus; //Fim do codigo. end else Begin Abort; end; end; end;
Att.
GOSTEI 0