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;

  • 相关阅读:
    CF1236B Alice and the List of Presents |数学
    luogu P1832 A+B Problem |背包
    CF832D Misha, Grisha and Underground |LCA
    bzoj1709[Usaco2007 Oct]Super Paintball超级弹珠*
    bzoj3314[Usaco2013 Nov]Crowded Cows*
    bzoj4300绝世好题
    bzoj2101[Usaco2010 Dec]Treasure Chest 藏宝箱*
    bzoj3437小P的牧场
    bzoj2016[Usaco2010]Chocolate Eating*
    bzoj2015[Usaco2010 Feb]Chocolate Giving*
  • 原文地址:https://www.cnblogs.com/fuyingke/p/967478.html
Copyright © 2011-2022 走看看