DELPHI 通用的数据记录复制过程
2024-09-05 10:20:07
//表名,关键字段名,单条内容的SQL语句,产生新记录的值
function Tfrmdmmain.CopyTbale(const tablename, fileldname, swhere,
newfileldstring: string): integer;
var sql,sqlstring,sqlvalue,newsqlvalue:string;
i:integer; begin
sql := 'INSERT INTO [%s] (%s) VALUES(%s)'; self.fykExecute.Close ;
self.fykExecute.SQL.Text := swhere;
self.fykExecute.Open ;
//取得字段资料 ,注意这里进行字段类型的判断,及NULL的处理。针对SQLSERVER
sqlstring:=StringReplace(Trim(fykExecute.FieldList.Text), ##, ',', [rfReplaceAll]);
for i := to fykExecute.FieldCount - do
begin
if fykExecute.Fields[i].FieldName = fileldname then begin
sqlvalue :=sqlvalue + newfileldstring +',';
end else begin
if fykExecute.Fields[i].DataType in [ftString , ftDate, ftTime, ftDateTime, ftMemo, ftFmtMemo, ftWideString] then begin
if fykExecute.Fields[i].AsString <>'' then begin
sqlvalue :=sqlvalue +''''+ fykExecute.Fields[i].AsString +''',';
end else begin
sqlvalue :=sqlvalue +'NULL'+',';
end;
end else begin if fykExecute.Fields[i].AsString <>'' then begin
sqlvalue :=sqlvalue + fykExecute.Fields[i].AsString +',';
end else begin
sqlvalue :=sqlvalue +'NULL'+',';
end; end; end; end; newsqlvalue:= copy(sqlvalue,,length(sqlvalue)-) ;
// showessage(sqlvalue); self.fykExecute.Close ;
self.fykExecute.SQL.Text := format(sql,[tablename,sqlstring,newsqlvalue]);
fykExecute.SQL.SaveToFile('C:\1.TXT');
Resuntl := self.fykExecute.ExecSQL ; end;
最新文章
- Network - curl和Wget
- 国产ProcessOn和国外gliffy的对比区别【原创】
- C++11初始化列表
- <;<;海闻电子发票接口 ESB 封装文档>;>;
- 手动实现 KVO
- Tomcat 搭配 Nginx 还是 Apache 呢?
- a标签的link、visited、hover、active的顺序
- OpenJudge 2979 陪审团的人选 / Poj 1015 Jury Compromise
- java Spring使用配置文件读取jdbc.properties
- Oracle 同步表权限分配(同义词)
- redis sets类型及操作
- jquery checkbox全选 获取值
- Hybrid App开发之jQuery操作DOM
- 一起来学Go --- (go的变量)
- 唱吧DevOps的落地,微服务CI/CD的范本技术解读
- .NET ORM框架之NHibernate
- Linux df -h空间显示不正确
- mysql设置远程访问
- mysql安装时,提示:Failed to start service MYSQL80
- lxml etree xpath