Comando update
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!
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
Curtidas 0
Respostas
Einstein
29/11/2006
kra ta faltando um where ai. por isso que ta atualizando todos os registros.
GOSTEI 0
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
29/11/2006
cara vc podeira me dar um exemplo usando where?
valew
valew
GOSTEI 0
Marco Salles
29/11/2006
exemplo com where
para campo integer...
para campo string
no caso do NomeSeuCampo fpr Integer... No caso do NomeDoSeuCampo fpr string faça:
mas use o [b:cd652ed1b3]cds.execute [/b:cd652ed1b3]conforme dito na primeira ppostagem
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
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
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
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
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
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
29/11/2006
barba , cabel e bigode.. :P
GOSTEI 0