Fórum Comando update #333918

29/11/2006

0

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

Responder

Posts

30/11/2006

Einstein

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


Responder

Gostei + 0

30/11/2006

Marco Salles

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];



Responder

Gostei + 0

30/11/2006

Ciotti

cara vc podeira me dar um exemplo usando where?
valew


Responder

Gostei + 0

01/12/2006

Marco Salles

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


Responder

Gostei + 0

02/12/2006

Ciotti

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


Responder

Gostei + 0

02/12/2006

Marco Salles

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;



Responder

Gostei + 0

02/12/2006

Ciotti

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


Responder

Gostei + 0

02/12/2006

Marco Salles

barba , cabel e bigode.. :P


Responder

Gostei + 0

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

Aceitar