Botao Gravar em PostGre

04/08/2009

ola estou com a revista ClubeDelphi Ano 7 Edição 88 e nela tem a parte 1 de como fazer um sistema de notícias estou com um problema com meu botão grava, pois estou trabalhando com postgre e estou trabalhando com query ao contrario dele que trabalha com table aqui na revista o autor fala para fazer o botao Gravar da seguinte forma //transformo meu dmcadastros em local global $DMCadastros; //dar o comando de gravar $DMCadastros->QRCad_Rep->Post; //dar o comando de atualizar e localizar o ultimo registro //se for uma inserção if ($this->btnGravar->Tag==1) //tag é igual a 1 porque quando fiz o botao novo declarei q se fosse insercao {                                               // botao gravar seria igual a 1 e se fosse alteração seria igual a 2         $DMCadastros->QRCad_Rep->Filter="id_rep=".mysql_insert_id();         $DMCadastros->QRCad_Rep->Refresh(); }                                         como eu faria o botao gravar usando query e o banco de dados postgre esta a baixo a forma que eu fiz meu botao gravar function btnGravarClick($sender, $params)
       {
       //transformar dmcadastros em local
       global $DMCadastros;
       $DMCadastros->QRCad_Rep->close();
       if ($this->btnGravar->Tag==1)
       {
       $DMCadastros->QRCad_Rep->SQL = "Insert Into cad_rep (nome, email, uf, cidade, telefone1, telefone2, celular, foto) VALUES ('".$this->nome->text."','".$this->email->text."','".$this->cbestado->Text."','".$this->cidade->Text."','".$this->telefone1->Text."','".$this->telefone2->Text."','".$this->celular->Text."',".$this->foto->Text.")";
       $DMCadastros->QRCad_Rep->Prepare();
       $DMCadastros->QRCad_Rep->Open();
       }   OBS: cbestado é um COMBOBOX nao sei se usa mesmo o text para salvar no banco de dados aguado resposta com urgencia
Fistsoft-sistemas Empresarial-ltda;

Fistsoft-sistemas Empresarial-ltda;

Curtidas 0

Respostas

Fistsoft-sistemas Empresarial-ltda;

Fistsoft-sistemas Empresarial-ltda;

04/08/2009

deixa eu te falar tambem estou fazendo um cadastro no mysql atraves de uma query e quando clico em gravar olha o que aparece   Application raised an exception class ADODB_Exception with message 'mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1] in EXECUTE("Insert Into cad_rep (nome, email, uf, cidade, telefone1, telefone2, celular) VALUES ('hasudhsauhadsudhau','udhasuhasdudsahudash','AC','asuhahuda','(17)3242-8734','',)   ")
'
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

04/08/2009

Olá meu amigo.
  Estamos analisando, e logo retornaremos.

Att,

Wesley Y
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

04/08/2009

Olá ELEANDRO,

A partir de agora eu estou assumindo este chamado.

Primeiro preciso saber qual o componente esta utilizando para acessar o PostGree no D4PHP e qual o Driver ?
Segundo seu PHP .ini ja esta configurado para acessar postgree ? Ou seja, a dll do postgree esta descomentada no PHP.ini ?

Bem quanto a segunda dúvida do erro no insert seu insert esta errado. Oberve  mensagem de erro


'mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1] in EXECUTE("Insert Into cad_rep (nome, email, uf, cidade, telefone1, telefone2, celular) VALUES ('hasudhsauhadsudhau','udhasuhasdudsahudash','AC','asuhahuda','(17)3242-8734','',)   ")

Viu ai o final, está sobrando uma virgila,deveria ter um '' ali também ficando assim: 8734','','')   ")

Revise sua instrucao insert dentro do seu código.

Abs!!


Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi



GOSTEI 0
Fistsoft-sistemas Empresarial-ltda;

Fistsoft-sistemas Empresarial-ltda;

04/08/2009

sim obrigado ja consegui gravar no postgre obrigado
GOSTEI 0
POSTAR