Comando update

Delphi

29/11/2006

ola gente estou tentando fazer um update em uma tabela mas nao estou conseguindo esta dando erro o codigo ta ai:

cls_motivo.close;
cls_motivo.commandtext := ´update CADASTRO_INADIPLENTES set MOTIVO =´ + QuotedStr(ComboBox1.Text);
cls_motivo.open;

gostaria apenas de alterar um campo mas ele esta alterando todos os dados do campo ´MOTIVO´ e me apresenta um erro :

CURSOR NOT RETURN FROM QUERY

alguem pode me informar o pq do erro valew gente!


Ciotti

Ciotti

Curtidas 0

Respostas

Einstein

Einstein

29/11/2006

kra ta faltando um where ai. por isso que ta atualizando todos os registros.


GOSTEI 0
Marco Salles

Marco Salles

29/11/2006

Amigo , use a instrução cds.execute ao inves do open

cls_motivo.close; cls_motivo.commandtext := ´update CADASTRO_INADIPLENTES set MOTIVO =´ + QuotedStr(ComboBox1.Text); cls_motivo.[b:c6b1fee360]execute[/b:c6b1fee360];



GOSTEI 0
Ciotti

Ciotti

29/11/2006

cara vc podeira me dar um exemplo usando where?
valew


GOSTEI 0
Marco Salles

Marco Salles

29/11/2006

exemplo com where

para campo integer...

cds.Close; cds.CommandText:=´update COTACAO set Motivo = ´+ QuotedStr(ComboBox1.Text)+ ´ where NomeSeuCampo =:pMeuParametro´; cds.Params.parambyname(´pMeuParametro´).[b:cd652ed1b3]asinteger[/b:cd652ed1b3]:=[b:cd652ed1b3]strtoint[/b:cd652ed1b3](Edit1.Text); cds.Execute;


para campo string

no caso do NomeSeuCampo fpr Integer... No caso do NomeDoSeuCampo fpr string faça:

cds.Close; cds.CommandText:=´update COTACAO set Motivo = ´+ QuotedStr(ComboBox1.Text)+ ´ where NomeSeuCampo =:pMeuParametro´; cds.Params.parambyname(´pMeuParametro´).[b:cd652ed1b3]asstring[/b:cd652ed1b3]:=Edit1.Text; cds.Execute;


mas use o [b:cd652ed1b3]cds.execute [/b:cd652ed1b3]conforme dito na primeira ppostagem


GOSTEI 0
Ciotti

Ciotti

29/11/2006

ola amigo valw funciou , mas so tem um porem quando eu coloco o
query.execute ele altera mas ele fecha a query e nao consigo trabalhar mais com ela tenho que compilar novamente e quando eu uso open ele da um erro:


SQLDATASET ´CURSOR NOT RETURN FROM QUERY´

VC SABERIA ME INFORMAR UMA DAS 2 DIFICULDADES?
VALW CARA PELA FORCA , FORTE ABRACO


GOSTEI 0
Marco Salles

Marco Salles

29/11/2006

ola amigo valw funciou , mas so tem um porem quando eu coloco o query.execute ele altera mas ele fecha a query e nao consigo trabalhar mais


voce quer serviço completo né , barba ,cabelo e bigode


cds.Close; cds.CommandText:=´update CADASTRO_INADIPLENTES set Motivo = ´+ QuotedStr(ComboBox1.Text)+ ´ where NomeSeuCampo =:pMeuParametro´; cds.Params.parambyname(´pMeuParametro´).asstring:=Edit1.Text; cds.Execute; cds.CommandText:=´´; cds.close; cds.CommandText:=´select * From Motivo´; cds.Open;



GOSTEI 0
Ciotti

Ciotti

29/11/2006

AAAA MULEKE FUNCIONOU SO FIZ UM PEQUENA ALTERCAO VOU POSTAR O CODIGO.

var i : Integer;
begin
with datamodule1 do
begin
i := StrToInt(DBEdit1.Text);
cls_motivo.close;
cls_motivo.commandtext := ´update CADASTRO_INADIPLENTES set MOTIVO =:MOTIVO ´ + ´ where ID_INADIPLENTES =:ID_INADIPLENTES´;
cls_motivo.Params.ParamByName(´MOTIVO´).AsString := ComboBox1.Text;
cls_motivo.Params.Parambyname(´ID_INADIPLENTES´).AsString:=IntToStr(i);
cls_motivo.Execute;
cls_motivo.close;
cls_motivo.CommandText:=´select * From CADASTRO_INADIPLENTES´;
cls_motivo.Open;
ShowMessage(´Registro alterado com sucesso´);

CARA VALEW, FICO MUITO GRATO PELA SUA ATENCAO. FORTE ABRACO


GOSTEI 0
Marco Salles

Marco Salles

29/11/2006

barba , cabel e bigode.. :P


GOSTEI 0
POSTAR