[firebase-br] Insert

Adriano Ferreira aerreira68 em gmail.com
Sex Maio 1 14:59:33 -03 2009


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 ??
  >  > >



Mais detalhes sobre a lista de discussão lista