• 12-10-2012, 16:39:59
    #1
    İyi günler, başka bir siteden çektiği verileri ekrana yazdırırken bir sıkıntı olmuyor ama veritabanına attığım zaman 13 veriden 5 ini atıyor sonra hata veriyor.
    kodlar;
    response.Write(bas&"<br>")
    response.Write(alt&"<br>")
    response.Write(imge&"<br>")
    response.Write(link&"<br><br>")

    bagjant.execute("INSERT INTO oto (bas,ac,res,link,nerden) VALUES('"&bas&"','"&alt&"','"&imge&"','"&link&"',' arabam')")

    veritabanı bağlantısını sildiğim de sorunsuz olarak response.writeler çalışıyor ama veritabanı bağlantısından sonra ilk 5 sütündan sonra yeni veri alınca;

    sorgu ifadesi içindeki Sözdizimi hatasý (eksik iþleç)

    /deneme.asp, satır 46

    Satır 46
    bagjant.execute("INSERT INTO oto (bas,ac,res,link,nerden) VALUES('"&bas&"','"&alt&"','"&imge&"','"&link&"',' arabam')")
  • 12-10-2012, 17:27:58
    #2
    Sql sözdizimi hatası diyor. Aşağıdaki gibi deneyin.
    bagjant.execute("INSERT INTO oto (bas,ac,res,link,nerden) VALUES('"& Replace(bas, "'", "''") &"','"& Replace(alt, "'", "''") &"','"& Replace(imge, "'", "''") &"','"& Replace(link, "'", "''") &"',' arabam')")
  • 12-10-2012, 17:44:34
    #3
    Üyeliği durduruldu
    frdtrkc'nin dediği gibi, dışardan gelen veriler içinde tek tırnak varsa insert into yordamı hata verir, çünkü karakteri ayırt edemez (tırak özel karakterdir), aldığın verileri bir temizleme fonksiyonundan geçirsen çok yararlı olur;
    Alıntı

    Function Temizle(veri)
    veri=replace(veri,"'","'")
    Temizle=veri
    End Function

    bas=Temizle(gelen_bas)
    gibi
  • 12-10-2012, 18:18:10
    #4
    Ek olarak bir iki düzenleme...

    Function Temizle(veri)
    	veri = veri & ""
    	veri = Replace(veri, "'", "''")
    	Temizle = veri
    End Function
    
    bas=Temizle(gelen_bas)
  • 13-10-2012, 10:53:44
    #5
    Üyeliği durduruldu
    Alıntı


    Function Temizle(veri)
    veri=replace(veri,"'","& #89;")
    Temizle=veri
    End Function

    bas=Temizle(gelen_bas)
    replace ettiğim karakter görünmemiş & ve #'i birleştirip kullanın
  • 16-10-2012, 15:26:15
    #6
    teşekkürler