ERRO
Erro ao aceder a base de dados
Incorrect decimal value: ‘’ for column ‘especialidades’ at row 1
UPDATE projectos SET valor_orcamentado = ‘244.00’, despesas = ‘8.61’, honorarios = ‘1845.00’, recursos_humanos = ‘488.00’, total = ‘2341.61’, especialidades = ‘’ WHERE numero = ‘6’
Efetuei a importação das tabelas do mysql para o database builder do SCV9
Na ligação está , virgula como separador decimal
Os campos estão todos como decimal(12,2)
Na apresentação dos formulários ou consultas não dá erro.
Alguns formulários onde tenho cálculo dá o mesmo erro
(ver anexo)
Código no evento onRecord
// Calcular valor orçamentado
sc_lookup(dataset,“select SUM(total_c_iva) FROM projecto_orcamento_linhas where registo=”[xnumero_projecto]"");
{valor_orcamentado} = {dataset[0][0]};
$xvalor_orcamentado = {dataset[0][0]};
// Calcular valor especialidades
sc_lookup(dataset,“select SUM(valor_c_iva) FROM projectos_especialidades_linhas where registo=”[xnumero_projecto]"");
{especialidades} = {dataset[0][0]};
$xvalor_especialidades = {dataset[0][0]};
//total
$wtotal=$wtotal_despesas+$wtotal_honorarios+$wtotal_rh+$xvalor_especialidades;
{total}=$wtotal;
/**
- Update a record on another table
*/
// SQL statement parameters
$update_table = ‘projectos’; // Table name
$update_where = “numero = ‘[xnumero_projecto]’”; // Where clause
$update_fields = array( // Field list, add as many as needed
“valor_orcamentado = ‘$xvalor_orcamentado’”,
“despesas = ‘$wtotal_despesas’”,
“honorarios = ‘$wtotal_honorarios’”,
“recursos_humanos = ‘$wtotal_rh’”,
“total = ‘$wtotal’”,
“especialidades = ‘$xvalor_especialidades’”,
);
// Update record
$update_sql = ‘UPDATE ’ . $update_table
. ’ SET ’ . implode(’, ', $update_fields)
. ’ WHERE ’ . $update_where;
sc_exec_sql($update_sql);