13-07-2024, Saat: 10:11
(13-07-2024, Saat: 09:52)senerelmas Adlı Kullanıcıdan Alıntı: 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 呼叫
Merhabalar,
Öncelikle okunaklılığı ve takibi daha rahat olması için kod bloğunuzu formatlayarak ekleyin.
Gelen verilerinizi kontrol edin. Gelen bir veri else bloğunu es geçiyordur verdiğiniz kritere göre.
Gelen verileri tek tek analiz edin.
Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.

