Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
mysql ve sqllite veri eşitleme
#1
selamlar kodumda bir yerde bir hata var ama çözemedik. ikinci else alanı işlem görmüyor 
procedure TForm7.urunEkle;
var
  useresponse2: Integer;
  productID, productName, productCode, barcode,guncelleme: string;
  price7, price1, price2, n11Price, hbPrice, trendyolSalePrice, idefixSalePrice, price6, n11_commission, hb_commission, eptt_commission, trendyol_commission: Double;
  hbProductUrl, n11ProductUrl, trendyolProductUrl: string;
  hb_price_min, hb_price_max, trendyol_price_min, trendyol_price_max, n11_price_min, n11_price_max: Double;
  sqlChanged: Boolean;
begin
  sqlChanged := False;

  useresponse2 := MessageDlg('Eşitleme yapmak istediğinizden emin misiniz? Bu işlem geri alınamaz.', mtConfirmation, [mbYes, mbNo], 0);
  if useresponse2 = mrYes then
  begin
    ZQSQL.SQL.Text := 'SELECT product_id FROM product_quantity WHERE quantity >= 1';
    ZQSQL.Open;

    ZQMySQLAd.SQL.Text := 'SELECT urun_id FROM veriler ';
    ZQMySQLAd.Open;
    ZQMySQLAd.First;

    ZMySQL.StartTransaction;
    try
      while not ZQMySQLAd.Eof do
      begin
        ZQSQLAd.SQL.Text := 'SELECT product_quantity.product_id, product_quantity.quantity, product.status ' +
                            'FROM product_quantity ' +
                            'LEFT JOIN product ON product_quantity.product_id = product.id ' +
                            'WHERE product_quantity.product_id = :productID AND product.status = 0';
        ZQSQLAd.ParamByName('productID').AsString := ZQMySQLAd.FieldByName('urun_id').AsString;
        ZQSQLAd.Open;
        if ZQSQLAd.Eof or (ZQSQLAd.FieldByName('quantity').AsInteger = 0) or (ZQSQLAd.FieldByName('status').AsInteger = 0) then
        begin
          zymysqfiyat.SQL.Text := 'DELETE FROM veriler WHERE urun_id = :productID';
          zymysqfiyat.ParamByName('productID').AsString := ZQMySQLAd.FieldByName('urun_id').AsString;
          zymysqfiyat.ExecSQL;
        end;
        ZQSQLAd.Close;
        ZQMySQLAd.Next;
      end;
      ZQMySQLAd.Close;

      ZQSQL.First;

      while not ZQSQL.Eof do
      begin
        productID := ZQSQL.FieldByName('product_id').AsString;

        ZQSQLAd.SQL.Text := 'SELECT productname, productcode, barcode, n11_commission, hb_commission, eptt_commission, trendyol_commission, ' +
                            'hb_product_url, n11_product_url, trendyol_product_url, status ' +
                            'FROM product WHERE id = :productID AND status > 0';
        ZQSQLAd.ParamByName('productID').AsString := productID;
        ZQSQLAd.Open;

        if not ZQSQLAd.Eof then
        begin
          productName := ZQSQLAd.FieldByName('productname').AsString;
          productCode := ZQSQLAd.FieldByName('productcode').AsString;
          barcode := ZQSQLAd.FieldByName('barcode').AsString;
          n11_commission := ZQSQLAd.FieldByName('n11_commission').AsFloat;
          hb_commission := ZQSQLAd.FieldByName('hb_commission').AsFloat;
          eptt_commission := ZQSQLAd.FieldByName('eptt_commission').AsFloat;
          trendyol_commission := ZQSQLAd.FieldByName('trendyol_commission').AsFloat;
          hbProductUrl := ZQSQLAd.FieldByName('hb_product_url').AsString;
          n11ProductUrl := ZQSQLAd.FieldByName('n11_product_url').AsString;
          trendyolProductUrl := ZQSQLAd.FieldByName('trendyol_product_url').AsString;

          zsqlfiyat.SQL.Text := 'SELECT price7, price1, price2, n11_price, hb_price, trendyol_saleprice, idefix_sale_price, price6 ' +
                                'FROM product_prices WHERE product_id = :productID';
          zsqlfiyat.ParamByName('productID').AsString := productID;
          zsqlfiyat.Open;

          if not zsqlfiyat.Eof then
          begin
            price1 := Round(zsqlfiyat.FieldByName('price1').AsFloat * 1.20);
            price2 := Round(zsqlfiyat.FieldByName('price2').AsFloat * 1.20);
            price6 := Round(zsqlfiyat.FieldByName('price6').AsFloat * 1.20);
            price7 := Round(zsqlfiyat.FieldByName('price7').AsFloat * 1.20);
             ZQMySQLAd.SQL.Text := 'SELECT smartlinkfiyati, n11komisyon, hepsiburadakomisyon, trendyolkomison, idefixkomisyon, maliyet, ' +
                                  'listefiyati, n11fiyati, hepsiburadafiyati, trendyolfiyati, idefixfiyati, ozelmaliyet, ' +
                                  'hb_product_url, n11_product_url, trendyol_product_url, ' +
                                  'hepsiburadarekabetalt, hepsiburadarekabetust, trednyolrekabetalt, trendyolrekabetust, n11rekabetalt, n11rekabetust, barcode, ' +
                                  'hbhc, tdhc, idehc, n11hc, tdminhc, tdmaxhc, hbminhc, hbmaxhc, n11minhc, n11maxhc,guncelleme ' +
                                  'FROM veriler WHERE urun_id = :productID';
            ZQMySQLAd.ParamByName('productID').AsString := productID;
            ZQMySQLAd.Open;
           ;
          if (ZQMySQLAd.FieldByName('n11komisyon').AsFloat <> n11_commission) or (ZQMySQLAd.FieldByName('smartlinkfiyati').AsFloat <> price2) then
              n11Price := Round((price2 / (1 - (n11_commission / 100))))
            else
              n11Price := zsqlfiyat.FieldByName('n11_price').AsFloat;
            if (ZQMySQLAd.FieldByName('hepsiburadakomisyon').AsFloat <> hb_commission) or (ZQMySQLAd.FieldByName('smartlinkfiyati').AsFloat <> price2) then
              hbPrice := Round((price2 / (1 - (hb_commission / 100))))
            else
              hbPrice := Round(zsqlfiyat.FieldByName('hb_price').AsFloat * 1.20);
            if (ZQMySQLAd.FieldByName('trendyolkomison').AsFloat <> trendyol_commission) or (ZQMySQLAd.FieldByName('smartlinkfiyati').AsFloat <> price2) then
              trendyolSalePrice := Round((price2 / (1 - (trendyol_commission / 100))))
            else
              trendyolSalePrice := Round(zsqlfiyat.FieldByName('trendyol_saleprice').AsFloat * 1.20);
            if (ZQMySQLAd.FieldByName('idefixkomisyon').AsFloat <> eptt_commission) or (ZQMySQLAd.FieldByName('smartlinkfiyati').AsFloat <> price2) then
              idefixSalePrice := Round((price2 / (1 - (eptt_commission / 100))))
            else
              idefixSalePrice := Round(zsqlfiyat.FieldByName('idefix_sale_price').AsFloat * 1.20);
            hb_price_min := hbPrice;
            hb_price_max := Round(hb_price_min * 1.20);
            trendyol_price_min := trendyolSalePrice;
            trendyol_price_max := Round(trendyol_price_min * 1.20);
            n11_price_min := n11Price;
            n11_price_max := Round(n11_price_min * 1.20);
            if ZQMySQLAd.FieldByName('guncelleme').AsString<>'' then
            begin
              guncelleme := ZQMySQLAd.FieldByName('guncelleme').AsString;
            end;


            if not ZQMySQLAd.Eof then
            begin

              // `price2` değişmişse tüm alanları güncelle
              if (ZQMySQLAd.FieldByName('smartlinkfiyati').AsFloat <> price2)
               then
              begin
                ShowMessage('sener'+(ZQMySQLAd.FieldByName('smartlinkfiyati').asstring)+productName);
              ShowMessage(floattostr(price2)+productName) ;
                zymysqfiyat.SQL.Clear;
                zymysqfiyat.SQL.Add('UPDATE veriler SET ');
                zymysqfiyat.SQL.Add('smartlinkfiyati = :price2, ');
                zymysqfiyat.SQL.Add('n11komisyon = :n11_commission, ');
                zymysqfiyat.SQL.Add('hepsiburadakomisyon = :hb_commission, ');
                zymysqfiyat.SQL.Add('trendyolkomison = :trendyol_commission, ');
                zymysqfiyat.SQL.Add('idefixkomisyon = :eptt_commission, ');
                zymysqfiyat.SQL.Add('maliyet = :price6, ');
                zymysqfiyat.SQL.Add('ozelmaliyet = :price7, ');
                zymysqfiyat.SQL.Add('listefiyati = :price1, ');
                zymysqfiyat.SQL.Add('hb_product_url = :hbProductUrl, ');
                zymysqfiyat.SQL.Add('n11_product_url = :n11ProductUrl, ');
                zymysqfiyat.SQL.Add('trendyol_product_url = :trendyolProductUrl, ');
                zymysqfiyat.SQL.Add('hepsiburadarekabetalt = :hb_price_min, ');
                zymysqfiyat.SQL.Add('hepsiburadarekabetust = :hb_price_max, ');
                zymysqfiyat.SQL.Add('trednyolrekabetalt = :trendyol_price_min, ');
                zymysqfiyat.SQL.Add('trendyolrekabetust = :trendyol_price_max, ');
                zymysqfiyat.SQL.Add('n11rekabetalt = :n11_price_min, ');
                zymysqfiyat.SQL.Add('n11rekabetust = :n11_price_max, ');
                zymysqfiyat.SQL.Add('barcode = :barcode, ');
                if guncelleme<>'' then
                begin
                zymysqfiyat.SQL.Add('guncelleme = :guncelleme, ');
                sqlChanged := True;
               end;
                // H olmayanlar için kontroller
 if (ZQMySQLAd.FieldByName('guncelleme').AsString <> 'H')then
  begin

   if (ZQMySQLAd.FieldByName('n11hc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('n11fiyati = :n11Price, ');
    zymysqfiyat.ParamByName('n11Price').AsFloat := n11Price;

    sqlChanged := True;
  end;
 if (ZQMySQLAd.FieldByName('hbhc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('hepsiburadafiyati = :hbPrice, ');
    zymysqfiyat.ParamByName('hbPrice').AsFloat := hbPrice;
     sqlChanged := True;
  end;
   if (ZQMySQLAd.FieldByName('tdhc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('trendyolfiyati = :trendyolSalePrice, ');
    zymysqfiyat.ParamByName('trendyolSalePrice').AsFloat := trendyolSalePrice;
    sqlChanged := True;
  end;
    if (ZQMySQLAd.FieldByName('idehc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('idefixfiyati = :idefixSalePrice, ');
    zymysqfiyat.ParamByName('idefixSalePrice').AsFloat := idefixSalePrice;
    sqlChanged := True;
  end;
 if (ZQMySQLAd.FieldByName('tdminhc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('trednyolrekabetalt = :trendyol_price_min, ');
    zymysqfiyat.ParamByName('trendyol_price_min').AsFloat := trendyol_price_min;
    sqlChanged := True;
  end;
 if (ZQMySQLAd.FieldByName('tdmaxhx').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('trendyolrekabetust = :trendyol_price_max, ');
    zymysqfiyat.ParamByName('trendyol_price_max').AsFloat := trendyol_price_max;
    sqlChanged := True;
  end;
     if (ZQMySQLAd.FieldByName('hbminhx').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('hepsiburadarekabetalt = :hb_price_min, ');
    zymysqfiyat.ParamByName('hb_price_min').AsFloat := hb_price_min;
    sqlChanged := True;
  end;
 if (ZQMySQLAd.FieldByName('hbmaxhc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('hepsiburadarekabetust = :hb_price_max, ');
    zymysqfiyat.ParamByName('hb_price_max').AsFloat := hb_price_max;
    sqlChanged := True;
  end;
  if (ZQMySQLAd.FieldByName('n11minhc').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('n11rekabetalt = :n11_price_min, ');
    zymysqfiyat.ParamByName('n11_price_min').AsFloat := n11_price_min;
    sqlChanged := True;
  end;
  if (ZQMySQLAd.FieldByName('n11max').AsString <> 'H')then
  begin
    zymysqfiyat.SQL.Add('n11rekabetust = :n11_price_max, ');
    zymysqfiyat.ParamByName('n11_price_max').AsFloat := n11_price_max;
    sqlChanged := True;
  end;
  end;          // Son virgülü kaldır
                if zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].EndsWith(', ') then
                  zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1] := zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].Substring(0, zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].Length - 2);

//                zymysqfiyat.SQL.Add(' WHERE urun_id = :productID');

                // Parametrelerin atanması
                zymysqfiyat.ParamByName('price2').AsFloat := price2;
                zymysqfiyat.ParamByName('n11_commission').AsFloat := n11_commission;
                zymysqfiyat.ParamByName('hb_commission').AsFloat := hb_commission;
                zymysqfiyat.ParamByName('trendyol_commission').AsFloat := trendyol_commission;
                zymysqfiyat.ParamByName('eptt_commission').AsFloat := eptt_commission;
                zymysqfiyat.ParamByName('price6').AsFloat := price6;
                zymysqfiyat.ParamByName('price7').AsFloat := price7;
                zymysqfiyat.ParamByName('price1').AsFloat := price1;
                zymysqfiyat.ParamByName('hbProductUrl').AsString := hbProductUrl;
                zymysqfiyat.ParamByName('n11ProductUrl').AsString := n11ProductUrl;
                zymysqfiyat.ParamByName('trendyolProductUrl').AsString := trendyolProductUrl;
                zymysqfiyat.ParamByName('hb_price_min').AsFloat := hb_price_min;
                zymysqfiyat.ParamByName('hb_price_max').AsFloat := hb_price_max;
                zymysqfiyat.ParamByName('trendyol_price_min').AsFloat := trendyol_price_min;
                zymysqfiyat.ParamByName('trendyol_price_max').AsFloat := trendyol_price_max;
                zymysqfiyat.ParamByName('n11_price_min').AsFloat := n11_price_min;
                zymysqfiyat.ParamByName('n11_price_max').AsFloat := n11_price_max;
                zymysqfiyat.ParamByName('barcode').AsString := barcode;
                if guncelleme<>'' then
                begin
                zymysqfiyat.ParamByName('guncelleme').AsString := guncelleme;
                 end;
  if sqlChanged then
  begin
    zymysqfiyat.SQL.Add(' WHERE urun_id = :productID');
    zymysqfiyat.ParamByName('productID').AsString := productID;
    zymysqfiyat.ExecSQL;
  end;

              end
              //eğer komisyonlar değişmiş ise
              else if (ZQMySQLAd.FieldByName('n11komisyon').AsFloat <> n11_commission)
              or  (ZQMySQLAd.FieldByName('hepsiburadakomisyon').AsFloat <> hb_commission) or
              (ZQMySQLAd.FieldByName('trendyolkomison').AsFloat <> trendyol_commission) or
              (ZQMySQLAd.FieldByName('idefixkomisyon').AsFloat <> eptt_commission)
               then
              begin
                ShowMessage('sener'+(ZQMySQLAd.FieldByName('smartlinkfiyati').asstring)+productName);
              ShowMessage(floattostr(price2)+productName) ;
                zymysqfiyat.SQL.Clear;
                zymysqfiyat.SQL.Add('UPDATE veriler SET ');
                zymysqfiyat.SQL.Add('smartlinkfiyati = :price2, ');
                zymysqfiyat.SQL.Add('n11komisyon = :n11_commission, ');
                zymysqfiyat.SQL.Add('hepsiburadakomisyon = :hb_commission, ');
                zymysqfiyat.SQL.Add('trendyolkomison = :trendyol_commission, ');
                zymysqfiyat.SQL.Add('idefixkomisyon = :eptt_commission, ');
                zymysqfiyat.SQL.Add('maliyet = :price6, ');
                zymysqfiyat.SQL.Add('ozelmaliyet = :price7, ');
                zymysqfiyat.SQL.Add('listefiyati = :price1, ');
                zymysqfiyat.SQL.Add('hb_product_url = :hbProductUrl, ');
                zymysqfiyat.SQL.Add('n11_product_url = :n11ProductUrl, ');
                zymysqfiyat.SQL.Add('trendyol_product_url = :trendyolProductUrl, ');
                zymysqfiyat.SQL.Add('hepsiburadarekabetalt = :hb_price_min, ');
                zymysqfiyat.SQL.Add('hepsiburadarekabetust = :hb_price_max, ');
                zymysqfiyat.SQL.Add('trednyolrekabetalt = :trendyol_price_min, ');
                zymysqfiyat.SQL.Add('trendyolrekabetust = :trendyol_price_max, ');
                zymysqfiyat.SQL.Add('n11rekabetalt = :n11_price_min, ');
                zymysqfiyat.SQL.Add('n11rekabetust = :n11_price_max, ');
                zymysqfiyat.SQL.Add('barcode = :barcode, ');

    zymysqfiyat.SQL.Add('n11fiyati = :n11Price, ');
    zymysqfiyat.ParamByName('n11Price').AsFloat := n11Price;
    zymysqfiyat.SQL.Add('hepsiburadafiyati = :hbPrice, ');
    zymysqfiyat.ParamByName('hbPrice').AsFloat := hbPrice;
    zymysqfiyat.SQL.Add('trendyolfiyati = :trendyolSalePrice, ');
    zymysqfiyat.ParamByName('trendyolSalePrice').AsFloat := trendyolSalePrice;
    zymysqfiyat.SQL.Add('idefixfiyati = :idefixSalePrice, ');
    zymysqfiyat.ParamByName('idefixSalePrice').AsFloat := idefixSalePrice;
    zymysqfiyat.SQL.Add('trednyolrekabetalt = :trendyol_price_min, ');
    zymysqfiyat.ParamByName('trendyol_price_min').AsFloat := trendyol_price_min;
    zymysqfiyat.SQL.Add('trendyolrekabetust = :trendyol_price_max, ');
    zymysqfiyat.ParamByName('trendyol_price_max').AsFloat := trendyol_price_max;
    zymysqfiyat.SQL.Add('hepsiburadarekabetalt = :hb_price_min, ');
    zymysqfiyat.ParamByName('hb_price_min').AsFloat := hb_price_min;
    zymysqfiyat.SQL.Add('hepsiburadarekabetust = :hb_price_max, ');
    zymysqfiyat.ParamByName('hb_price_max').AsFloat := hb_price_max;
    zymysqfiyat.SQL.Add('n11rekabetalt = :n11_price_min, ');
    zymysqfiyat.ParamByName('n11_price_min').AsFloat := n11_price_min;
    zymysqfiyat.SQL.Add('n11rekabetust = :n11_price_max, ');
    zymysqfiyat.ParamByName('n11_price_max').AsFloat := n11_price_max;

               // Son virgülü kaldır
                if zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].EndsWith(', ') then
                  zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1] := zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].Substring(0, zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].Length - 2);

//                zymysqfiyat.SQL.Add(' WHERE urun_id = :productID');

                // Parametrelerin atanması
                zymysqfiyat.ParamByName('price2').AsFloat := price2;
                zymysqfiyat.ParamByName('n11_commission').AsFloat := n11_commission;
                zymysqfiyat.ParamByName('hb_commission').AsFloat := hb_commission;
                zymysqfiyat.ParamByName('trendyol_commission').AsFloat := trendyol_commission;
                zymysqfiyat.ParamByName('eptt_commission').AsFloat := eptt_commission;
                zymysqfiyat.ParamByName('price6').AsFloat := price6;
                zymysqfiyat.ParamByName('price7').AsFloat := price7;
                zymysqfiyat.ParamByName('price1').AsFloat := price1;
                zymysqfiyat.ParamByName('hbProductUrl').AsString := hbProductUrl;
                zymysqfiyat.ParamByName('n11ProductUrl').AsString := n11ProductUrl;
                zymysqfiyat.ParamByName('trendyolProductUrl').AsString := trendyolProductUrl;
                zymysqfiyat.ParamByName('hb_price_min').AsFloat := hb_price_min;
                zymysqfiyat.ParamByName('hb_price_max').AsFloat := hb_price_max;
                zymysqfiyat.ParamByName('trendyol_price_min').AsFloat := trendyol_price_min;
                zymysqfiyat.ParamByName('trendyol_price_max').AsFloat := trendyol_price_max;
                zymysqfiyat.ParamByName('n11_price_min').AsFloat := n11_price_min;
                zymysqfiyat.ParamByName('n11_price_max').AsFloat := n11_price_max;
                zymysqfiyat.ParamByName('barcode').AsString := barcode;




    zymysqfiyat.SQL.Add(' WHERE urun_id = :productID');
    zymysqfiyat.ParamByName('productID').AsString := productID;
     zymysqfiyat.ExecSQL;

              end


              else burası çalışmıyor
              begin
              ShowMessage('Product ID: ' + productID + ' | Güncelleme: ' + ZQMySQLAd.FieldByName('guncelleme').AsString);

               zymysqfiyat.SQL.Clear;
                zymysqfiyat.SQL.Add('UPDATE veriler SET ');



            if ZQMySQLAd.FieldByName('maliyet').AsFloat <> price6 then
            begin
            zymysqfiyat.SQL.Add('maliyet = :price6, ');
            zymysqfiyat.ParamByName('price6').AsFloat := price6;
            sqlChanged := True;
  end;
  if ZQMySQLAd.FieldByName('ozelmaliyet').AsFloat <> price7 then
  begin
    zymysqfiyat.SQL.Add('ozelmaliyet = :price7, ');
    zymysqfiyat.ParamByName('price7').AsFloat := price7;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('hb_product_url').AsString <> hbProductUrl then
  begin
    zymysqfiyat.SQL.Add('hb_product_url = :hbProductUrl, ');
    zymysqfiyat.ParamByName('hbProductUrl').AsString := hbProductUrl;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('n11_product_url').AsString <> n11ProductUrl then
  begin
    zymysqfiyat.SQL.Add('n11_product_url = :n11ProductUrl, ');
    zymysqfiyat.ParamByName('n11ProductUrl').AsString := n11ProductUrl;
    sqlChanged := True;
  end;

 if ZQMySQLAd.FieldByName('trendyol_product_url').AsString <> trendyolProductUrl then
  begin
    zymysqfiyat.SQL.Add('trendyol_product_url = :trendyolProductUrl, ');
    zymysqfiyat.ParamByName('trendyolProductUrl').AsString := trendyolProductUrl;
    sqlChanged := True;
  end;
  if ZQMySQLAd.FieldByName('n11komisyon').AsFloat <> n11_commission then
  begin
    zymysqfiyat.SQL.Add('n11komisyon = :n11_commission, ');
    zymysqfiyat.ParamByName('n11_commission').AsFloat := n11_commission;
    sqlChanged := True;
  end;
 if ZQMySQLAd.FieldByName('hepsiburadakomisyon').AsFloat <> hb_commission then
  begin
    zymysqfiyat.SQL.Add('hepsiburadakomisyon = :hb_commission, ');
    zymysqfiyat.ParamByName('hb_commission').AsFloat := hb_commission;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('trendyolkomison').AsFloat <> trendyol_commission then
  begin
    zymysqfiyat.SQL.Add('trendyolkomison = :trendyol_commission, ');
    zymysqfiyat.ParamByName('trendyol_commission').AsFloat := trendyol_commission;
    sqlChanged := True;
  end;
  if ZQMySQLAd.FieldByName('idefixkomisyon').AsFloat <> eptt_commission then
  begin
    zymysqfiyat.SQL.Add('idefixkomisyon = :eptt_commission, ');
    zymysqfiyat.ParamByName('eptt_commission').AsFloat := eptt_commission;
    sqlChanged := True;
  end;


   if ZQMySQLAd.FieldByName('n11fiyati').AsFloat <> n11Price then
  begin
   ShowMessage(floattostr(n11Price));

     if ZQMySQLAd.FieldByName('n11hc').AsString <> 'H' then
  begin
    zymysqfiyat.SQL.Add('n11hc = :n11hc, ');
    zymysqfiyat.SQL.Add('n11minhc = :n11minhc, ');
    zymysqfiyat.SQL.Add('n11maxhc = :n11maxhc, ');
        zymysqfiyat.ParamByName('n11hc').AsString := 'H';
    zymysqfiyat.ParamByName('n11minhc').AsString := 'H';
    zymysqfiyat.ParamByName('n11maxhc').AsString := 'H';

      end;
      zymysqfiyat.SQL.Add('n11fiyati = :n11Price, ');
     zymysqfiyat.ParamByName('n11Price').AsFloat := n11Price;
    sqlChanged := True;
  end;
if ZQMySQLAd.FieldByName('hepsiburadafiyati').AsFloat <> hbPrice then
begin
  zymysqfiyat.SQL.Add('hepsiburadafiyati = :hbPrice, ');
  if ZQMySQLAd.FieldByName('hbhc').AsString <> 'H' then
  begin
    zymysqfiyat.SQL.Add('hbhc = :hbhc, ');
    zymysqfiyat.SQL.Add('hbminhc = :hbminhc, ');
    zymysqfiyat.SQL.Add('hbmaxhc = :hbmaxhc, ');
    zymysqfiyat.ParamByName('hbhc').AsString := 'H';
    zymysqfiyat.ParamByName('hbminhc').AsString := 'H';
    zymysqfiyat.ParamByName('hbmaxhc').AsString := 'H';
  end;
  zymysqfiyat.ParamByName('hbPrice').AsFloat := hbPrice;
  sqlChanged := True;
end;

   if ZQMySQLAd.FieldByName('trendyolfiyati').AsFloat <> trendyolSalePrice then
  begin
    zymysqfiyat.SQL.Add('trendyolfiyati = :trendyolSalePrice, ');
      if ZQMySQLAd.FieldByName('hbhc').AsString <> 'H' then
  begin
    zymysqfiyat.SQL.Add('tdhc = :tdhc, ');
    zymysqfiyat.SQL.Add('tdminhc = :tdminhc, ');
    zymysqfiyat.SQL.Add('tdmaxhc = :tdmaxhc, ');

    zymysqfiyat.ParamByName('tdhc').AsString := 'H';
    zymysqfiyat.ParamByName('tdminhc').AsString := 'H';
    zymysqfiyat.ParamByName('tdmaxhc').AsString := 'H';
  end;
      zymysqfiyat.ParamByName('trendyolSalePrice').AsFloat := trendyolSalePrice;
    sqlChanged := True;
  end;
          if ZQMySQLAd.FieldByName('idefixfiyati').AsFloat <> idefixSalePrice then
  begin
    zymysqfiyat.SQL.Add('idefixfiyati = :idefixSalePrice, ');
     if ZQMySQLAd.FieldByName('hbhc').AsString <> 'H' then
  begin
    zymysqfiyat.SQL.Add('idehc = :idehc, ');

    zymysqfiyat.ParamByName('idehc').AsString := 'H';
  end;
      zymysqfiyat.ParamByName('idefixSalePrice').AsFloat := idefixSalePrice;
    sqlChanged := True;
  end;

    if ZQMySQLAd.FieldByName('trednyolrekabetalt').AsFloat <> trendyol_price_min then
  begin
    zymysqfiyat.SQL.Add('trednyolrekabetalt = :trendyol_price_min, ');
    zymysqfiyat.ParamByName('trendyol_price_min').AsFloat := trendyol_price_min;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('trendyolrekabetust').AsFloat <> trendyol_price_max then
  begin
    zymysqfiyat.SQL.Add('trendyolrekabetust = :trendyol_price_max, ');
    zymysqfiyat.ParamByName('trendyol_price_max').AsFloat := trendyol_price_max;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('hepsiburadarekabetalt').AsFloat <> hb_price_min then
  begin
    zymysqfiyat.SQL.Add('hepsiburadarekabetalt = :hb_price_min, ');
    zymysqfiyat.ParamByName('hb_price_min').AsFloat := hb_price_min;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('hepsiburadarekabetust').AsFloat <> hb_price_max then
  begin
    zymysqfiyat.SQL.Add('hepsiburadarekabetust = :hb_price_max, ');
    zymysqfiyat.ParamByName('hb_price_max').AsFloat := hb_price_max;
    sqlChanged := True;
  end;
  if ZQMySQLAd.FieldByName('n11rekabetalt').AsFloat <> n11_price_min then
  begin
    zymysqfiyat.SQL.Add('n11rekabetalt = :n11_price_min, ');
    zymysqfiyat.ParamByName('n11_price_min').AsFloat := n11_price_min;
    sqlChanged := True;
  end;

  if ZQMySQLAd.FieldByName('n11rekabetust').AsFloat <> n11_price_max then
  begin
    zymysqfiyat.SQL.Add('n11rekabetust = :n11_price_max, ');
    zymysqfiyat.ParamByName('n11_price_max').AsFloat := n11_price_max;
    sqlChanged := True;
  end;

                // Son virgülü kaldır
                if zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].EndsWith(', ') then
                  zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1] := zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].Substring(0, zymysqfiyat.SQL[zymysqfiyat.SQL.Count - 1].Length - 2);

if sqlChanged then
  begin

    zymysqfiyat.SQL.Add(' WHERE urun_id = :productID');
    zymysqfiyat.ParamByName('productID').AsString := productID;
    zymysqfiyat.ExecSQL;
  end;





           end
            else
            begin
              zymysqfiyat.SQL.Clear;
              zymysqfiyat.SQL.Add('INSERT INTO veriler (urun_id, smartlinkfiyati, listefiyati, n11fiyati, hepsiburadafiyati, trendyolfiyati, idefixfiyati,');
              zymysqfiyat.SQL.Add('urun_adi, urun_kodu, n11komisyon, hepsiburadakomisyon, trendyolkomison, idefixkomisyon, maliyet, ozelmaliyet, hb_product_url, n11_product_url, trendyol_product_url, ' +
                                  'hepsiburadarekabetalt, hepsiburadarekabetust, trednyolrekabetalt, trendyolrekabetust, n11rekabetalt, n11rekabetust, barcode)');
              zymysqfiyat.SQL.Add('VALUES (:productID, :price2, :price1, :n11Price, :hbPrice, :trendyolSalePrice, :idefixSalePrice, :productName, :productCode,');
              zymysqfiyat.SQL.Add(':n11_commission, :hb_commission, :trendyol_commission, :eptt_commission, :price6, :price7, :hbProductUrl, :n11ProductUrl, :trendyolProductUrl, ' +
                                  ':hb_price_min, :hb_price_max, :trendyol_price_min, :trendyol_price_max, :n11_price_min, :n11_price_max, :barcode)');
              zymysqfiyat.ParamByName('productID').AsString := productID;
              zymysqfiyat.ParamByName('price2').AsFloat := price2;
              zymysqfiyat.ParamByName('price1').AsFloat := price1;
              zymysqfiyat.ParamByName('n11Price').AsFloat := n11Price;
              zymysqfiyat.ParamByName('hbPrice').AsFloat := hbPrice;
              zymysqfiyat.ParamByName('trendyolSalePrice').AsFloat := trendyolSalePrice;
              zymysqfiyat.ParamByName('idefixSalePrice').AsFloat := idefixSalePrice;
              zymysqfiyat.ParamByName('productName').AsString := productName;
              zymysqfiyat.ParamByName('productCode').AsString := productCode;
              zymysqfiyat.ParamByName('n11_commission').AsFloat := n11_commission;
              zymysqfiyat.ParamByName('hb_commission').AsFloat := hb_commission;
              zymysqfiyat.ParamByName('trendyol_commission').AsFloat := trendyol_commission;
              zymysqfiyat.ParamByName('eptt_commission').AsFloat := eptt_commission;
              zymysqfiyat.ParamByName('price6').AsFloat := price6;
              zymysqfiyat.ParamByName('price7').AsFloat := price7;
              zymysqfiyat.ParamByName('hbProductUrl').AsString := hbProductUrl;
              zymysqfiyat.ParamByName('n11ProductUrl').AsString := n11ProductUrl;
              zymysqfiyat.ParamByName('trendyolProductUrl').AsString := trendyolProductUrl;
              zymysqfiyat.ParamByName('hb_price_min').AsFloat := hb_price_min;
              zymysqfiyat.ParamByName('hb_price_max').AsFloat := hb_price_max;
              zymysqfiyat.ParamByName('trendyol_price_min').AsFloat := trendyol_price_min;
              zymysqfiyat.ParamByName('trendyol_price_max').AsFloat := trendyol_price_max;
              zymysqfiyat.ParamByName('n11_price_min').AsFloat := n11_price_min;
              zymysqfiyat.ParamByName('n11_price_max').AsFloat := n11_price_max;
              zymysqfiyat.ParamByName('barcode').AsString := barcode;
              zymysqfiyat.ExecSQL;
            end;

          end;

          zsqlfiyat.Close;
        end;

        ZQSQLAd.Close;
        ZQMySQLAd.Close;
        ZQSQL.Next;
      end;

      ZQSQL.Close;
      ZMySQL.Commit;
    except
      on E: Exception do
      begin
        ZMySQL.Rollback;
        ShowMessage('Hata: ' + E.Message);
      end;
    end;

    ZQuery1.Close;
    ZQuery1.Open;
    UpdateRecordCountLabel;
    ShowMessage('Eşitleme Tamamlandı');
  end;
end;

end;
end;
Wave 呼叫
Cevapla


Bu Konudaki Yorumlar
mysql ve sqllite veri eşitleme - Yazar: senerelmas - 13-07-2024, Saat: 09:52
Cvp: mysql ve sqllite veri eşitleme - Yazar: hi_selamlar - 13-07-2024, Saat: 10:11
mysql ve sqllite veri eşitleme - Yazar: senerelmas - 13-07-2024, Saat: 10:16
Cvp: mysql ve sqllite veri eşitleme - Yazar: hi_selamlar - 13-07-2024, Saat: 10:21
mysql ve sqllite veri eşitleme - Yazar: senerelmas - 13-07-2024, Saat: 11:05
mysql ve sqllite veri eşitleme - Yazar: frmman - 13-07-2024, Saat: 14:45

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Veri Tabanına Kontrollü Kayıt Yaptırma bünyamin68 20 4.238 08-06-2025, Saat: 09:40
Son Yorum: izmaimen
  wsdl veri çekme hatası tuna 6 1.349 15-01-2025, Saat: 16:54
Son Yorum: hi_selamlar
  kap.org.tr veri alma hk. pro_imaj 7 14.129 22-10-2024, Saat: 19:57
Son Yorum: Zeynepfeyza20
  PDF dosyasından veri almak Mikdad 11 1.788 07-09-2024, Saat: 10:51
Son Yorum: mrmarman
  Ms Sql İki db yi birbirine eşitleme tuna 5 1.044 07-08-2024, Saat: 18:33
Son Yorum: tuna



Konuyu Okuyanlar: 1 Ziyaretçi