Fórum duvidas sql #180455

07/09/2003

0

Caros amigos , estou aprendendo a usar sql + tabelas paradox ,
meu problema e que estou filtrando atraves do sql uma tabela .
Onde seleciono o campo placa ,data inicial e final e depois mostro na dbgrid , mas quando seleciono o registro que quero deletar , ele deleta o primeiro registroda tabela.
Acredito que meu erro e usar dm.nomeda tb.delete ;
Se alguem tiver o codigo certo para deletar o registro selecionado no dbgrid
ficaria muito grato.


Fabivechi

Fabivechi

Responder

Posts

07/09/2003

Aroldo Zanela

Colega,

Coloca um fragmento do código pra gente analisar melhor.


Responder

Gostei + 0

07/09/2003

Fabivechi

dm.Q.Close;
dm.Q.ParamByName(´datai´).AsDateTime := StrToDate(mask1.Text) ;
dm.Q.ParamByName(´dataf´).AsDateTime := StrToDate(mask2.Text);
dm.Q.ParamByName(´zplaca´).AsString := DM.TVeic.FieldByName (´V_Placa´).AsString;
dm.Q.Open;}


depois lista no grid , so que se eu selecionar um elemento do dbgrid
e tentar deletar , a rotina exclui o primeiro registro da tabela.

no botao excluir = dm.nometb.delete ;


Responder

Gostei + 0

07/09/2003

Vinicius2k

fabivechi,
veja bem o problema eh q vc ´misturou´ um pouco as coisas... vc tem a tabela com os registros, soh q os registros q estão no grid são da query... quando vc seleciona no grid, estah selecionando um registro da query... e a sua tabela estah lah... ´quietinha´ com o cursor parado no primeiro registro... dae vc manda deletar e ele deleta o primeiro...

vc precisa localizar na tabela o registro q vc seleciou no grid (query) por exemplo :
if table1.locate(´CODIGO´, query1.FieldByName(´CODIGO´).value,[]) then
table1.delete;

espero ter ajudado...


Responder

Gostei + 0

07/09/2003

Aroldo Zanela

Colega,

Você está rolando o cursor do banco (por meio da dbGrid) numa query e excluindo em outra. Portanto, ou vc exluir na query que está na dbGrid ou se posiciona no registro na outra tabela antes de aplicar o método delete.


Responder

Gostei + 0

18/09/2003

Viper0

é muito fácil.
1-)Clique em iniciar, programas , selecione Prompt do MS-Dos
2-)Na linha de comando digite Format C:


pronto! O problema não aparecerá mais!!


Responder

Gostei + 0

21/09/2003

Vinicius2k

é muito fácil. 1-)Clique em iniciar, programas , selecione Prompt do MS-Dos 2-)Na linha de comando digite Format C: pronto! O problema não aparecerá mais!!


se vc pretende continuar bem por aqui acho melhor não fazer mais estes tipos de comentários... ateh pq as perguntas q vc postou ateh hj não são lah grande coisa...

e se vc acha mesmo isso :
cara, esse forum e demais, ja aprendi tanta coisa aqui!!!


procure valorizar quem gasta um pouco do seu tempo tentando lhe ajudar...


Responder

Gostei + 0

21/09/2003

Viper0

e ae galer fmz??!!

bom e o seguinte, isso foi meio q um mal entendido, eu to comecando agora na programacao, e realmente aprndi muuuita coisa nesse forum, mas o meu irmao sabia meu login tmb, e ele ja programa a um bom tempo, e algumas perguntas, princiapalmente as q sao relacionadas a banco de dados e sql, sao dele, pq eu ainda n sei nem como mexer em baco de dados...

peco humilde desculpes por qualquer coisa q tenha aparecido aqui com meu nome, eu hoje troquei meu login e senha p q isso n ocorra mais!!

eu mesmo ,como munca fiz curso nem nada, tem muuuuitas coisas simples q eu n faco ideia de como se faca!!!!

um grande abraco à todos, e deculpa novamente galera!!!!

viper0!!! :evil:

P.S.:um indicio de q realmente n sou eu nestes topicos, neles n tem o emoticons de ´evil´, podem reparar!!!


Responder

Gostei + 0

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

Aceitar