Ну и что - ты читаешь сразу все записи к тексту, после любых изименений - удаляешь их все из базы и добавляешь в отредактированном виде - это очень просто, тебе не надо будет разбираться каждый раз по своему:
| Код | Procedure ReadText(id:integer; text:TStrings); begin Query.active:=false; Query.sql.text:='Select text from myTable where id='+inttostr(id)+' Order by StringNumber'; Query.active:=true; text.clear; While not Query.eof do begin text.add(Query.fields[0].asstring); Query.next; end; Query.active:=false; end;
Procedure WriteText(id:integer; text:TStrings); var i:integer begin Query.active:=false; Query.sql.text:='Delete from myTable where id='+inttostr(id); Query.ExecSQL; Query.sql.text:='Insert into myTable (id, StringNumber, Text) Values('+inttostr(id)+', :sn, :txt)'; Query.params.ParseSQL(Query.sql.text, true); for i:=0 to text.count-1 do begin Query.params.Parambyname('sn').value:=i; Query.params.Parambyname('txt').value:=text[i]; Query.ExecSQL; end; end;
| |