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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律