[firebase-br] Insert

ARNOPAZ-FUTURA Informatica/Locadora/LanHouse futura1999 em gmail.com
Sex Maio 1 15:07:53 -03 2009


Realmente errei, pois faltou um "+" no _COD, isso ajustado fica certo a
sitaxe, na execução dá erro de tipo de operador, já que COD é numérico e os
demais caracter.
A sintaxe SQL do VFP é assim mesmo, pois uso bastante no banco nativo,
efunciona legal.

Bhá, mas tá díficil.

Arno R. Paz

2009/5/1 Adriano Ferreira <aerreira68 em gmail.com>

> Não conheço Visual Fox Pro, mas acho que o erro está na sintaxe do seu
> INSERT.  Experimente talvez trocar as aspas duplas dentro do comando SQL por
> aspas simples.
>
> Mas veja que o comando que te pasei foi:
> _INS="INSERT INTO TESTE (CODIGO, NOME, VALOR) VALUES ("+_COD+",
> "+_NOM+","+_VAL+")"
>
> e você fez:
> _INS="INSERT INTO TESTE (CODIGO, NOME, VALOR) VALUES
> ("+_COD","+_NOM+","+_VAL+")"
>
> Há uma diferença sutil no sinal de + após _COD, mas ainda assim, como são
> valores caracter e numérico, então acho que seria algo mais ou menos assim:
>
>
> _INS="INSERT INTO TESTE (CODIGO, NOME, VALOR) VALUES ('"+_COD+"',
> '"+_NOM+"',"+str(_VAL)+")"
>
> Observe que antes do +_COD existe uma aspas simples ' e depois uma aspas
> dupla " e depois tem uma aspas dupla " seguido de uma aspas simples '   E o
> comando str(_VAL) seria ara converter o valor numero para string, mas em fox
> pro não sei qual é o comando, e neste caso não exitem as aspas simples antes
> e depois.
>
> _
> Adriano Ferreira
>
> ----- Original Message -----
>
>  From: ARNOPAZ-FUTURA Informatica/Locadora/LanHouse
>  To: FireBase
>   Sent: Friday, May 01, 2009 2:22 PM
>  Subject: Re: [firebase-br] Insert
>
>
>  Sim, o certo é "_deu" invéz de "kdeu";
>
>  o INCERT assim:
>
>  _INS="INSERT INTO TESTE (CODIGO, NOME, VALOR) VALUES
>  ("+_COD","+_NOM+","+_VAL+")"
>
>  o VFP dá erro na sintaxe.
>
>  O problema está antes do commit, pois _INS está retornando -1.
>
>  Obrigado pela atenção.
>
>  Arno R. Paz
>  Tres Cachoeiras - RS
>
>  2009/5/1 Adriano Ferreira <aerreira68 em gmail.com>
>
>  > O comando para confirmar o insert é o COMMIT que conclui a transação
>  > corrente.
>  >
>  > Este seu comando SQLCOMMIT(kdeu) não deveria ser SQLCOMMIT(_deu) ?
>  >
>  > E também, acho que precisa ajustar a sintaxe da linha abaixo:
>  >
>  > _INS="INSERT INTO TESTE (CODIGO, NOME, VALOR) VALUES ("+_COD+",
> "+_NOM+",
>  > "+_VAL+")"
>  >
>  >
>  > Esse seu código não estava apresentando erro não?
>  > _
>  > Adriano Ferreira
>  > www.sssinformatica.com.br
>  >  " Antes de imprimir, pense em seu compromisso com o Meio Ambiente "
>  >
>  >  ----- Original Message -----
>  >  From: ARNOPAZ-FUTURA Informatica/Locadora/LanHouse
>  >  To: FireBase
>  >  Sent: Friday, May 01, 2009 11:11 AM
>  >  Subject: Re: [firebase-br] Insert
>  >
>  >
>  >  Não uso Delphi.  Programo em VFP9 - c/ SP2.
>  >
>  -------------------------------------------------------------------------
>  >  Eis o código:
>  >
>  >  STORE Sqlstringconnect("Driver=Firebird/InterBase(r) driver;Dbname=" +
>  > 'f:\'
>  >  + 'futura2009' + ";PWD=" + 'masterkey' + ";UID=" + 'SYSDBA') TO _deu
>  >  thisform.text1.Value=_deu
>  >
>  >  SQLEXEC(_deu,"select * from teste","_teste")
>  >
>  >  _cod=1
>  >  _nom='FUTURA'
>  >  _VAL=1000.00
>  >
>  >
>  >  _INS="INSERT INTO "TESTE" ("CODIGO", "NOME", "VALOR") VALUES (_COD,
> _NOM,
>  >  _VAL)"
>  >
>  >  _fez=SQLEXEC(_DEU,_INS)
>  >
>  >  SQLCOMMIT(kdeu)
>  >
>  >  SQLEXEC(_deu,"select * from teste","_teste")
>  >
>  >  thisform.grid1.RecordSource='_teste'
>  >
>  >
>  >
>  -----------------------------------------------------------------------------
>  >
>  >  o _FEZ retorna -1
>  >
>  >
>  >
>  ------------------------------------------------------------------------------------
>  >
>  >  Arno R. Paz
>  >
>  >  2009/5/1 Anderson Miranda Barrozo <andersonpaduarj em gmail.com>
>  >
>  >  > Bom dia,
>  >  >
>  >  >     Vc. usa Firebird e os componentes dbexpress ?
>  >  > Anderson Miranda
>  >  >
>  >  >
>  >  > 2009/5/1 ARNOPAZ-FUTURA Informatica/Locadora/LanHouse <
>  >  > futura1999 em gmail.com>
>  >  >
>  >  > > Buenas;
>  >  > > Existe algum comando  a ser usado após o INSERT para que o registro
>  > fique
>  >  > > gravado na tabela ??
>  >  > >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Arno R. da Paz
FUTURA - Informática e LanHouse
Tres Cachoeiras/RS
----------------------------------------------------------------------
Gl 2,20 "Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo
vive em mim; e a vida que agora vivo na carne, vivo-a na fé do Filho de
Deus, o qual me amou, e se entregou a si mesmo por mim."



Mais detalhes sobre a lista de discussão lista