| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
chip_set Experiente


Registrado: Quarta-Feira, 14 de Dezembro de 2005 Mensagens: 448
|
Enviada: Seg Mar 25, 2013 12:13 am Assunto: sem efeito o Update no Mysql [Resolvido] |
|
|
Boa noite galera. Estou migrando minhas aplicações para o Mysql mais estou com dificuldade no update, simplesmente não ocorre.
Estou usando o Delphi XE3+Uniconection+uniquery com unidatasource.
FormatSettings.ShortDateFormat:= 'yyyy/MM/dd';
csql:='update os set os_data_fechamento=:dat where codigo=:id';
e fazendo direto
csql:='update os set os_data_fechamento='+datetostr(date)+' where codigo='+dados.uniquery_oscodigo.asstring;
da o erro: #22007Incorrect date value '28' for column 'os_data_fechamento' at row 1
Editado pela última vez por chip_set em Seg Mar 25, 2013 7:14 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Seg Mar 25, 2013 9:46 am Assunto: |
|
|
o formato da data no mysql é assim: yyyy-mm-dd _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
chip_set Experiente


Registrado: Quarta-Feira, 14 de Dezembro de 2005 Mensagens: 448
|
Enviada: Seg Mar 25, 2013 10:06 am Assunto: |
|
|
| joemil escreveu: | | o formato da data no mysql é assim: yyyy-mm-dd |
O problema continua o mesmo com a alteração do formato.
FormatSettings.ShortDateFormat:= 'yyyy-mm-dd';
csql:='update os set os_data_fechamento='+datetostr(date)+' where codigo='+dados.UniQuery_osCODIGO.AsString;
dados.UniQuery_os.Close;
dados.UniQuery_os.SQL.Clear;
dados.UniQuery_os.SQL.Clear;
dados.UniQuery_os.SQL.Add(csql);
dados.UniQuery_os.ExecSQL; |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Seg Mar 25, 2013 11:03 am Assunto: |
|
|
tente assim:
| Código: | csql:='update os set os_data_fechamento="'+FormatDateTime('yyyy-mm-dd', date)+'" where codigo='+dados.UniQuery_osCODIGO.AsString;
|
e ela tem q estar em aspas tb _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
chip_set Experiente


Registrado: Quarta-Feira, 14 de Dezembro de 2005 Mensagens: 448
|
Enviada: Seg Mar 25, 2013 3:07 pm Assunto: |
|
|
| joemil escreveu: | tente assim:
| Código: | csql:='update os set os_data_fechamento="'+FormatDateTime('yyyy-mm-dd', date)+'" where codigo='+dados.UniQuery_osCODIGO.AsString;
|
e ela tem q estar em aspas tb |
Bom o erro agora mudou. #42s22Unknown column '2013-03-25' in field list |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Seg Mar 25, 2013 4:14 pm Assunto: |
|
|
colocou as aspas na data assim: "2013-03-25" ???
csql:='update os set os_data_fechamento="'+FormatDateTime('yyyy-mm-dd', date)+'" where codigo='+dados.UniQuery_osCODIGO.AsString; _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
chip_set Experiente


Registrado: Quarta-Feira, 14 de Dezembro de 2005 Mensagens: 448
|
Enviada: Seg Mar 25, 2013 6:00 pm Assunto: |
|
|
| joemil escreveu: | colocou as aspas na data assim: "2013-03-25" ???
csql:='update os set os_data_fechamento="'+FormatDateTime('yyyy-mm-dd', date)+'" where codigo='+dados.UniQuery_osCODIGO.AsString; |
Coloquei sim, coloquei exatamente como no post anterior. |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Seg Mar 25, 2013 6:25 pm Assunto: |
|
|
da um showmessage nessa variavel, ela deve estar assim:
| Código: | | UPDATE os SET os_data_fechamento="2013-03-25" WHERE codigo=1 |
ou entao vc pode fazer assim:
| Código: | | UPDATE os SET os_data_fechamento=CURDATE() WHERE codigo=1 |
CURDATE() é uma funcao do proprio mysql. veja em:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
chip_set Experiente


Registrado: Quarta-Feira, 14 de Dezembro de 2005 Mensagens: 448
|
Enviada: Seg Mar 25, 2013 7:13 pm Assunto: |
|
|
| joemil escreveu: | da um showmessage nessa variavel, ela deve estar assim:
| Código: | | UPDATE os SET os_data_fechamento="2013-03-25" WHERE codigo=1 |
ou entao vc pode fazer assim:
| Código: | | UPDATE os SET os_data_fechamento=CURDATE() WHERE codigo=1 |
CURDATE() é uma funcao do proprio mysql. veja em:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html |
Com o curdate() funcionou.
Eu só não entendi o pq que as outras opções não aceitou. pq inserção (insert into ) ta funcionando normal.
E a instrução tava certinha assim: UPDATE os SET os_data_fechamento="2013-03-25" WHERE codigo=1 |
|
| Voltar ao Topo |
|
 |
|