+ Yanıtla
Toplam 7 sonuçtan 1 ile 7 arası olanlar

Konu Başlığı: Kayıt varsa güncellesin yoksa eklesin

  1. #1

    Kayıt varsa güncellesin yoksa eklesin

    Arkadaşlar yapmak istedigim veritabanında kelime bölümünde aynı kayıt varsa adet bölümündeki sayıyı 1 artırmak.Eğer yoksa yeni kayıt yapmak bunu nası yapabilirim acaba?

  2. #2

    Re: Kayıt varsa güncellesin yoksa eklesin

    "UPDATE products SET counter = counter+1 WHERE id = " & ProductId

    Bu sadece varsa update yapar

    ama diger sekilde ayarlaman icin,

    kaydi cek varsa update et yoksa ekle
    FERRUH.MAVİTUNA - İnanmıyorum, yeni site!

  3. #3

    Re: Kayıt varsa güncellesin yoksa eklesin

    Yapmam gerekenin o oldugunu biliyorum ancak kodu yazamadım.Aşağıdaki koda bakabilirisin.

    <%
    kelime=Trim(request.querystring("kelime"))

    Set arm=Baglanti.Execute("Select * from arama_motoru ")

    do while not arm.eof
    if arm("kelime")<>kelime then
    call ekle
    else
    call duzenle
    end if

    arm.movenext:loop

    sub ekle
    adet = request.form("adet")+1
    baglanti.execute("insert into arama_motoru (kelime,adet,tarih) values ('"& kelime &"',"& adet &",'"& now() &"')")
    end sub

    sub duzenle
    adet = arm("adet")+1
    Baglanti.Execute ("update arama_motoru set adet="& adet &",tarih='"& now() &"' where kelime=('"& kelime &"')")
    end sub

    arm.close
    set arm=nothing
    %>

  4. #4

    Re: Kayıt varsa güncellesin yoksa eklesin

    Benim tavsiyem önce direk UPDATE sorgusunu yapıp etkilenen kayıt sayısına bakarak hareket etmek yönünde.

  5. #5

    Re: Kayıt varsa güncellesin yoksa eklesin

    Yukaridaki kodu su sekilde cevirirsen,

    1) Kelime DB de var mi diye kontrol et (wHERE kelime = 'xxx')
    Kayit dondumuyu EOF AND BOF ile test edebilirsin


    2) Varsa update et
    UPDAte i yukarida gosterdim

    3) Yoksa ekle


    Kod:
    Set arm=Baglanti.Execute("Select * from arama_motoru ")
    
    Bunu kesinlikle yapma yaoman gereken WHERE kullanmak ve BOF EOF ile kayit dondu mu donmedi mi diye bakmak.
    FERRUH.MAVİTUNA - İnanmıyorum, yeni site!

  6. #6

    Re: Kayıt varsa güncellesin yoksa eklesin

    Veritabanını daha az yoracağını düşündüğümden hala önce sanki kayıt varmış gibi çalıştırılan bir UPDATE sorgusu ve etkilenen kayıt sayısı 0'sa çağrılan bir INSERT sorgusunda ısrar ediyorum

    Ancak bu soul'un cevabının yanlış olduğu anlamına gelmiyor tabi ki

  7. #7

    Re: Kayıt varsa güncellesin yoksa eklesin

    PHP Kodu:
    <%
    kelime=Trim(request.querystring("kelime"))

    Set arm=Baglanti.Execute("Select * from arama_motoru ")

    do while 
    not arm.eof

        Set kontrol 
    conn.Execute("SELECT COUNT(*) AS records from arama_motoru where kelime = '" kelime "'")
        
    Sonuc CInt(kontrol(0))
        
        
    'kayıt bulunamadı
        if Sonuc=0 then
              '
    Ekleme işlemlerini yap.

       
    'kayıt bulundu.
        elseif Sonuc>0 then
              '
    Counterı 1yap

        end 
    if

    arm.movenext
    loop
    %> 
    Bilgi paylaşmak için vardır!

+ Yanıtla

Bu konu başlığı için etiketler

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazabilirsiniz
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz