procedure TfrmGettingStarted.btnInsertClick(Sender: TObject); const strInsert = 'insert into Categories(CategoryName, Description, Picture) values(:N, :D, :P)'; //:name, :age 参数 的方式(后面还要以数组的方式给出相应的值), 这比字符串的 Format 函数还要方便. var iID: Integer; begin if not FDconnection1.Connected then Exit; // Insert a record 增 FDconnection1.ExecSQL( strInsert , ['New category', 'Nasdcription', $0234]); FDconnection1.ExecSQL( strInsert , ['asdfa', 'description', $03134]); FDconnection1.ExecSQL( strInsert , ['Nvddy', 'New description', $0434]); FDconnection1.ExecSQL( strInsert , ['Asdf', 'New description', $03234]); FDconnection1.ExecSQL( strInsert , ['ADsadafda', 'New description', $03314]);
FDConnection1.ExecSQL('INSERT INTO MyTable(姓名,语文, 数学, 英语) VALUES(''AA'', 11,22,33), (''BA'', 11,22,33), (''CA'', 11,22,33) ');
if not FDQuery1.Active then FDQuery1.Active:=true; // Get a scalar value from DB, 查,只返回第一个 结果值 iID := FDconnection1.ExecSQLScalar('select MAX(CategoryID) from Categories'); caption := 'Last CategoryID = ' + IntToStr(iID); end; procedure TfrmGettingStarted.btnUpdateClick(Sender: TObject); begin if not FDconnection1.Connected then Exit; // Update records 改 FDconnection1.ExecSQL('update Products set UnitPrice = UnitPrice * :P1 + :P2 ' + 'where ProductID < 3', [Random(5), Random(3)]); if not FDQuery1.Active then FDQuery1.Active:=true; end; procedure TfrmGettingStarted.btnDeleteClick(Sender: TObject); begin if not FDconnection1.Connected then Exit; // Delete a record 删 FDconnection1.ExecSQL('delete from Categories where CategoryName like :N', ['New category']); if not FDQuery1.Active then FDQuery1.Active:=true; end;