Использую TMySQL50Connection, TSQLTransaction и TSQLQuery.
В приведённом запросе на втором ExecSQL - ошибка - исключение EDatabase Error
Затем идет сообщение, что "Cannot open a non-select statement"
- Код: Выделить всё
- procedure TDM.MakeMonthTable(_Date: TDate; _Level: Integer);
 var Y, M: Integer;
 i: Integer;
 begin
 Y := YearOf(_Date);
 M := MonthOf(_Date);
 qTmp.SQL.Clear;
 qTmp.SQL.Add('TRUNCATE months;');
 qTmp.ExecSQL;
 qTmp.SQL.Clear;
 qTmp.SQL.Add('INSERT INTO months(Yb, Mb) VALUES');
 for i := 1 to _Level-1 do begin
 qTmp.SQL.Add(Format('(%d, %d),', [Y, M]));
 _Date := SysUtils.IncMonth(_Date, -1);
 Y := YearOf(_Date);
 M := MonthOf(_Date);
 end;
 qTmp.SQL.Add(Format('(%d, %d);', [Y, M]));
 qTmp.ExecSQL;
 qTmp.Open;
 end;
Содержание выполняемого SQL
- Код: Выделить всё
- INSERT INTO months(Yb, Mb) VALUES
 (2011, 6);
Что не так я делаю?
Lazarus v0.9.31
FPC 2.4.4
SVN: 31267
i386-win32-win32/win64



