• 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;

  • 相关阅读:
    大二实习使用的技术汇总(下)
    【JSP】JSTL使用core标签总结(不断更新中)
    凸包---HDU 2202
    poj
    [MFC]MFC中OnDraw与OnPaint的区别
    PHP 自动生成导航网址的最佳方法 v20130826
    汉语-词语-调料:百科
    汉语-词语-味觉:百科
    汉语-词语-本源:百科
    un-人物-企业家-迈纳·基思:百科
  • 原文地址:https://www.cnblogs.com/fuyingke/p/967478.html
Copyright © 2020-2023  润新知