Erro Firedac salvar dados DML

08/08/2022

0

Ao tentatar salvar dados no banco de Mysql conexão Firedac está informando seguinte erro:

Project ServidorEscanerAguias.exe raised exception class EMYSQLNativeException with message [FireDAC] [Phys] [MySQL] 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

Abaixo instrução Sql e Estrutrua bco de dados:

1 seq Primária int(11)
2 data date
3 jogo varchar(50)
4 tempo int(11)
5 tempoextra int(11)
6 placar varchar(10)
7 odcasa float
8 odempate float
9 odvisitante float
10 bttssim float
11 under2_5 float
12 over2_5 float
13 ataquesperigososcasa int(11)
14 ataquesperigososvisitante int(11)
15 ataquestotalcasa int(11)
16 ataquestotalvisitante int(11)
17 escanteioscasa int(11)
18 escanteiosvisitante int(11)
19 chutesnogolcasa int(11)
20 chutesnogolvisitante int(11)
21 chutesforadogolcasa int(11)
22 chutesforadogolvisitante int(11)
23 chutesdentrodaareacasa int(11)
24 chutesdentrodaareavisitante int(11)
25 chutesforadaareacasa int(11)
26 chutesforadaareavisitante int(11)
27 pl1casa int(11)
28 pl1visitante int(11)
29 pl2casa int(11)
30 pl2visitante int(11)
31 Status varchar(4)
-----------------------------------------------------------------------------------
ROTINA INCLUSÃO DE DADOS:

FDConnection1.StartTransaction;
Try
QrJogosatuais.Connection := FDConnection1;
QrJogosatuais.SQL.Text :='INSERT INTO jogosatuais (eventDateStr, match ,minute, extraMinute' +
', currentScore, matchOddsHomeBF, matchOddsDrawBF, matchOddsAwayBF' +
', bttsYesBF, under25BF, over25BF, dangerousAttacksHome' +
', dangerousAttacksAway, attacksHome, attacksAway, cornersHome' +
', cornersAway, shotsOnGoalHome, shotsOnGoalAway, shotsOffGoalHome' +
', shotsOffGoalAway, shotsInsideBoxHome, shotsInsideBoxAway, shotsOutsideBoxHome' +
', shotsOutsideBoxAway, generalPressureHome, generalPressureAway,dangerousPressureHome' +
', dangerousPressureAway, status)' +
' VALUES ' +
'(:data, :jogo, :tempo, :tempoextra, :placar, :odcasa, :odempate, :odvisitante' +
', :bttssim, :under2_5, :over2_5, :ataquesperigososcasa, :ataquesperigososvisitante' +
', :ataquestotalcasa, :ataquestotalvisitante, :escanteioscasa, :escanteiosvisitante' +
', :chutesnogolcasa, :chutesnogolvisitante, :chutesforadogolcasa, :chutesforadogolvisitante' +
', :chutesdentrodaareacasa, :chutesdentrodaareavisitante, :chutesforadaareacasa, :chutesforadaareavisitante' +
', :pl1casa, :pl1visitante, :pl2casa, :pl2visitante, :status)';
QrJogosatuais.Params.ArraySize:=FrFullbusca.QrLivescoredata.RecordCount;
while not FrFullbusca.QrLivescoredata.eof do
begin
QrJogosatuais.ParamByName('data').AsDates[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('eventDateStr').AsDateTime;
QrJogosatuais.ParamByName('jogo').AsStrings[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('match').AsString;
QrJogosatuais.ParamByName('tempo').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('minute').AsFloat;
QrJogosatuais.ParamByName('tempoextra').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('extraMinute').AsFloat;
QrJogosatuais.ParamByName('placar').AsStrings[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('currentScore').AsString;
QrJogosatuais.ParamByName('odcasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('matchOddsHomeBF').AsFloat;
QrJogosatuais.ParamByName('odempate').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('matchOddsDrawBF').AsFloat;
QrJogosatuais.ParamByName('odvisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('matchOddsAwayBF').AsFloat;
QrJogosatuais.ParamByName('bttssim').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('bttsYesBF').AsFloat;
QrJogosatuais.ParamByName('under2_5').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('under25BF').AsFloat;
QrJogosatuais.ParamByName('over2_5').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('over25BF').AsFloat;
QrJogosatuais.ParamByName('ataquesperigososcasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('dangerousAttacksHome').AsFloat;
QrJogosatuais.ParamByName('ataquesperigososvisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('dangerousAttacksAway').AsFloat;
QrJogosatuais.ParamByName('ataquestotalcasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('attacksHome').AsFloat;
QrJogosatuais.ParamByName('ataquestotalvisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('attacksAway').AsFloat;
QrJogosatuais.ParamByName('escanteioscasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('cornersHome').AsFloat;
QrJogosatuais.ParamByName('escanteiosvisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('cornersAway').AsFloat;
QrJogosatuais.ParamByName('chutesnogolcasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsOnGoalHome').AsFloat;
QrJogosatuais.ParamByName('chutesnogolvisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsOnGoalAway').AsFloat;
QrJogosatuais.ParamByName('chutesforadogolcasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsOffGoalHome').AsFloat;
QrJogosatuais.ParamByName('chutesforadogolvisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsOffGoalAway').AsFloat;
QrJogosatuais.ParamByName('chutesdentrodaareacasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsInsideBoxHome').AsFloat;
QrJogosatuais.ParamByName('chutesdentrodaareacasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsInsideBoxAway').AsFloat;
QrJogosatuais.ParamByName('chutesforadaareacasa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsOutsideBoxHome').AsFloat;
QrJogosatuais.ParamByName('chutesforadaareavisitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('shotsOutsideBoxAway').AsFloat;
QrJogosatuais.ParamByName('pl1casa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('generalPressureHome').AsFloat;
QrJogosatuais.ParamByName('pl1visitante').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('generalPressureAway').AsFloat;
QrJogosatuais.ParamByName('pl2casa').AsFloats[Pred(FrFullbusca.QrLivescoredata.RecNo)]:=FrFullbusca.QrLivescoredata.FieldByName('dangerousPressureHome').AsFloat;
QrJogosatuais.ParamByName('pl2visitante').AsFloats[Pred(FrFullbusca.QrLives
Jose Santos

Jose Santos

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar