Autor Tópico: Campos virtuais  (Lida 306 vezes)

mariangela

  • Iniciante
  • **
  • Mensagens: 50
Campos virtuais
« Online: Agosto 17, 2018, 01:50:10 pm »
Boa tarde pessoal, eu criei campos virtuais em um form de cadastro, e não está salvando na tabela que eu preciso.
Lembrando que esses campos virtuais que fiz são de outra tabela, pois cada parte do formulário está em uma tabela diferente.
ex: Endereço (imbend)
status (imbstatus).. assim sucessivamente.

fiz esse código mais está dando erro.

$_ins="INSERT INTO imbend values (null,{mbend_cep},{mbend_tipoend_id},{mbend_endereco}, {mbend_numero},{mbend_complemento},
{mbend_bairro},{mbend_cidade_id},{mbend_estado_id},{mbend_pais_id})";

sc_exec_sql($_ins);

Sou nova tanto no SC quanto em programação..

segue a imagem do erro:

https://mega.nz/#!maAHnSAA!tDa0Yi21WPR88EpXMvngQgI_MePUn7H0HvWdPBbQSQ0

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1340
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:Campos virtuais
« Responder #1 Online: Agosto 17, 2018, 02:08:03 pm »
Boa tarde Mariangela. Bem vinda ao fórum.
Bom, o que está faltando ali é aspas simples nos campos que são char/varchar/text etc.
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

mariangela

  • Iniciante
  • **
  • Mensagens: 50
Re:Campos virtuais
« Responder #2 Online: Agosto 17, 2018, 03:16:34 pm »
Boa tarde, obrigada.

Thyago, não deu certo.

$_ins="INSERT INTO imbend values ('mbend_cep','mbend_tipoend_id','mbend_endereco','mbend_numero','mbend_complemento',
'mbend_bairro','cidade','mbend_estado_id','mbend_pais_id')";
sc_exec_sql($_ins);

E estou fazendo isso no evento OnValidate, correto?

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1340
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:Campos virtuais
« Responder #3 Online: Agosto 17, 2018, 03:27:38 pm »
Boa tarde, obrigada.

Thyago, não deu certo.

$_ins="INSERT INTO imbend values ('mbend_cep','mbend_tipoend_id','mbend_endereco','mbend_numero','mbend_complemento',
'mbend_bairro','cidade','mbend_estado_id','mbend_pais_id')";
sc_exec_sql($_ins);

E estou fazendo isso no evento OnValidate, correto?


Deve ser assim Mariangela:
Código: [Selecionar]
$_ins="INSERT INTO imbend values (null,{mbend_cep},{mbend_tipoend_id},'{mbend_endereco}', {mbend_numero},'{mbend_complemento}',
'{mbend_bairro}',{mbend_cidade_id},{mbend_estado_id},{mbend_pais_id})";

Lembrando que no código acima, eu coloquei aspas nos campos que eu imagino ser tipo texto.
Pergunta: imbend é sua tabela?
Isso deve ser no onAfterInsert.
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

mariangela

  • Iniciante
  • **
  • Mensagens: 50
Re:Campos virtuais
« Responder #4 Online: Agosto 17, 2018, 03:35:44 pm »
Thyago, imbend é minha tabela sim, onde eu devo armazenar os dados dos campos virtuais!
Agora não deu erro, mais também nao salvou na tabela *imbend*.

tenho que colocar esse código em algum outro tipo de evento?

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1340
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:Campos virtuais
« Responder #5 Online: Agosto 17, 2018, 03:37:47 pm »
Ah sim, desculpe! Coloque antes do insert sc_commit_trans();
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

mariangela

  • Iniciante
  • **
  • Mensagens: 50
Re:Campos virtuais
« Responder #6 Online: Agosto 17, 2018, 03:45:14 pm »
no meu evento onAfterInsert eu já tenho um código, está correto se eu colocar esse Insert assim?

IF (!empty({mb_id_conjuge}) and {mb_estadocivil_id}==2):
   $_ins="INSERT INTO ipessoasconjuges values (null, {mb_local_id}, {mb_id}, {mb_id_conjuge})";
   sc_exec_sql($_ins);

    //FORÇANDO O STATUS DO CONJUGE COMO CASADO
    $_upd="UPDATE imembros SET mb_estadocivil_id=2, mb_id_conjuge={mb_id} where mb_id={mb_id_conjuge}";
    sc_exec_sql($_upd);

endif;

// insert para campos virtuais do imbend

$_ins="INSERT INTO imbend values ({mbend_cep},{mbend_tipoend_id},'{mbend_endereco}', {mbend_numero},'{mbend_complemento}',
'{mbend_bairro}',{mbend_cidade_id},{mbend_estado_id},{mbend_pais_id})";

//DESCARREGANDO O BUFFER DO BANCO DE DADOS FORÇANDO A GRAVAÇÃO FISICA EM DISCO
   sc_commit_trans();


e mesmo assim não salva na tabela que eu preciso que é imbend.

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1340
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:Campos virtuais
« Responder #7 Online: Agosto 17, 2018, 03:51:06 pm »
Faça desta forma:
Código: [Selecionar]
sc_commit_trans();

IF (!empty({mb_id_conjuge}) and {mb_estadocivil_id}==2):
   $_ins="INSERT INTO ipessoasconjuges values (null, {mb_local_id}, {mb_id}, {mb_id_conjuge})";
   sc_exec_sql($_ins);

    //FORÇANDO O STATUS DO CONJUGE COMO CASADO
    $_upd="UPDATE imembros SET mb_estadocivil_id=2, mb_id_conjuge={mb_id} where mb_id={mb_id_conjuge}";
    sc_exec_sql($_upd);

endif;

// insert para campos virtuais do imbend

$_ins="INSERT INTO imbend values ({mbend_cep},{mbend_tipoend_id},'{mbend_endereco}', {mbend_numero},'{mbend_complemento}',
'{mbend_bairro}',{mbend_cidade_id},{mbend_estado_id},{mbend_pais_id})";

//DESCARREGANDO O BUFFER DO BANCO DE DADOS FORÇANDO A GRAVAÇÃO FISICA EM DISCO
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

mariangela

  • Iniciante
  • **
  • Mensagens: 50
Re:Campos virtuais
« Responder #8 Online: Agosto 17, 2018, 04:08:26 pm »
Thyago mesmo assim, não está salvando na tabela (imbend).

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1340
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:Campos virtuais
« Responder #9 Online: Agosto 17, 2018, 04:13:53 pm »
Thyago mesmo assim, não está salvando na tabela (imbend).
Mostre como está fazendo
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

mariangela

  • Iniciante
  • **
  • Mensagens: 50
Re:Campos virtuais
« Responder #10 Online: Agosto 17, 2018, 04:21:23 pm »
o meu último registro da tabela imbend é o 2954, se salvasse esses dados do endereço teria que ser 2955..


https://mega.nz/#!7XYCwCiY!ADZhsRIIBXyrTMqc_KIJ2fNhwRAVzh-vfhmYG-QNbA0


Haroldo

  • Expert
  • *****
  • Mensagens: 8718
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Campos virtuais
« Responder #11 Online: Agosto 17, 2018, 05:59:55 pm »

sc_commit_trans sempre por ultimo não  antes.
Ah sim, desculpe! Coloque antes do insert sc_commit_trans();

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1340
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:Campos virtuais
« Responder #12 Online: Agosto 20, 2018, 08:36:54 am »
o meu último registro da tabela imbend é o 2954, se salvasse esses dados do endereço teria que ser 2955..


https://mega.nz/#!7XYCwCiY!ADZhsRIIBXyrTMqc_KIJ2fNhwRAVzh-vfhmYG-QNbA0



Mariângela, tente o seguinte:

Código: [Selecionar]
sc_begin_trans();
IF (!empty({mb_id_conjuge}) and {mb_estadocivil_id}==2):
   $_ins="INSERT INTO ipessoasconjuges values (null, {mb_local_id}, {mb_id}, {mb_id_conjuge})";
   sc_exec_sql($_ins);

    //FORÇANDO O STATUS DO CONJUGE COMO CASADO
    $_upd="UPDATE imembros SET mb_estadocivil_id=2, mb_id_conjuge={mb_id} where mb_id={mb_id_conjuge}";
    sc_exec_sql($_upd);

endif;

// insert para campos virtuais do imbend

$_ins="INSERT INTO imbend values ({mbend_cep},{mbend_tipoend_id},'{mbend_endereco}', {mbend_numero},'{mbend_complemento}',
'{mbend_bairro}',{mbend_cidade_id},{mbend_estado_id},{mbend_pais_id})";

//DESCARREGANDO O BUFFER DO BANCO DE DADOS FORÇANDO A GRAVAÇÃO FISICA EM DISCO
sc_commit_trans();
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

Haroldo

  • Expert
  • *****
  • Mensagens: 8718
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Campos virtuais
« Responder #13 Online: Agosto 23, 2018, 10:32:13 am »
Marry,

Estou trabalhando num exemplo para te orientar nessa sua questão.

Mais tardar amanhã está pronto.


mariangela

  • Iniciante
  • **
  • Mensagens: 50
Re:Campos virtuais
« Responder #14 Online: Agosto 23, 2018, 10:35:10 am »
Harold, você sempre muito atencioso com as minhas dúvidas em relação ao SC...
Muito obrigada, fico no aguardo!!


:D