Campos virtuais

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

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.

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:

$_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, 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?

Ah sim, desculpe! Coloque antes do insert sc_commit_trans();

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.

Faça desta forma:

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 mesmo assim, não está salvando na tabela (imbend).

Mostre como está fazendo

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

sc_commit_trans sempre por ultimo não antes.

Mariângela, tente o seguinte:

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();

Marry,

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

Mais tardar amanhã está pronto.

Harold, você sempre muito atencioso com as minhas dúvidas em relação ao SC…
Muito obrigada, fico no aguardo!!

:smiley: