zoukankan      html  css  js  c++  java
  • DELPHI 通用的数据记录复制过程

    //表名,关键字段名,单条内容的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),   #13#10,   ',',   [rfReplaceAll]);
      for i := 0 to fykExecute.FieldCount -1 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,0,length(sqlvalue)-1)  ;
    //  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;

  • 相关阅读:
    算法第五章作业
    第四章实验报告
    算法第三章作业
    算法第三章上机实验报告
    算法第二章作业
    算法第二章上机实践报告
    算法 代码规范(C++)&《数学之美》读后感
    第七章学习小结
    第六章学习小结
    第五章学习小结
  • 原文地址:https://www.cnblogs.com/fuyingke/p/967478.html
Copyright © 2011-2022 走看看