cannot perform this operation on a closed dataset and incorrect data entered into table

Viewed 5952

I have been getting this error and I am struggling to find what I have done wrong. What doesn't make sense is that the result is still posted to the database with all fields being correct except the name field. In the name field it enters 'dmInfo' for some reason.

with dmQuery_u.dmInfo do
      begin
        dsInfo.Edit;
        qryData.SQL.Clear;
        qryData.SQL.Add('SELECT * FROM eventinfo ORDER BY eventnumber');
        qryData.Open;
        qryData.Last;
        autonum := qryData['eventnumber'] + 1;
        qryData.SQL.Clear;
        qryData.SQL.Add(
          'INSERT INTO eventinfo (eventnumber, bandname, venue, dateofevent, ticketcost, openingact, amountbooked)');
        qryData.SQL.Add(
          'VALUES (:eventnumber, :bandname, :venue, :dateofevent, :ticketcost, :openingact, :amountbooked)');
        qryData.Parameters.ParamByName('eventnumber').Value := autonum;
        qryData.Parameters.ParamByName('bandname').Value := name;
        qryData.Parameters.ParamByName('venue').Value := venue;
        qryData.Parameters.ParamByName('dateofevent').Value := date;
        qryData.Parameters.ParamByName('ticketcost').Value := ticketcost;
        qryData.Parameters.ParamByName('openingact').Value := openingact;
        qryData.Parameters.ParamByName('amountbooked').Value := amountbooked;
        qryData.ExecSQL;
        qryData.SQL.Clear;
        qryData.SQL.Add('SELECT * FROM eventinfo');
        qryData.Last;
        qryData.Open;
1 Answers
Related