Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

tarih para yada sayi herhangi bir tur icin kullanilmasi gereken isaretler ?

Konu, 'ASP' kısmında GooKaa tarafından paylaşıldı.

  1. GooKaa

    GooKaa Üye

    Kayıt:
    18 Mart 2007
    Mesajlar:
    227
    Beğenilen Mesajlar:
    0
    Bu isaretleri nasil ayirt edebiliyoruz. Demek istedigim tarih oldugunda '&tarih&' seklinde sayida baska bisi falan yada text te bunlari nasil ayirt edebiliyoruz. Bunlarin sirali ve aciklamali yazili oldugu bir kaynak var mi acaba ?
     
  2. demo

    demo Aktif Üye

    Kayıt:
    28 Eylül 2006
    Mesajlar:
    372
    Beğenilen Mesajlar:
    0
    Meslek:
    Çalış(a)mıyor
    Şehir:
    34770
    Mehmet Günce Akkoyun'un ASP Güncesi adlı kitabından alıntıdır. İşinize yarabilir.


    Kod:
    [COLOR=#3366ff]<%
    [COLOR=green]Option Explicit
    [COLOR=#339966]Dim[COLOR=black]Degisken, Degisken1
     
    [COLOR=#ff6600]  Degisken [COLOR=#339966]= VarType([COLOR=black]Degisken1[COLOR=#339966])    ‘ degisken1 in ne tip olduğunu verir
     
    [COLOR=black]Select Case[COLOR=#339966] VarType([COLOR=black]Degisken1[COLOR=#339966])
    [COLOR=black]   Case 0 : Response.Write “Empty”
    [COLOR=black]   Case 1 : Response.Write “Null”
    [COLOR=black]   Case 2 : Response.Write “Integer”
    [COLOR=black]   Case 3 : Response.Write “Long Integer”
    [COLOR=black]   Case 4 : Response.Write “Single-Precision Number”
    [COLOR=black]   Case 5 : Response.Write “Double-Precision Number”
    [COLOR=black]   Case 6 : Response.Write “Currency”
    [COLOR=black]   Case 7 : Response.Write “Date”
    [COLOR=black]   Case 8 : Response.Write “String”
    [COLOR=black]   Case 9 : Response.Write “Object”
    [COLOR=black]   Case 10 : Response.Write “Error”
    [COLOR=black]   Case 11 : Response.Write “Boolean”
    [COLOR=black]   Case 12 : Response.Write “Variant”
    [COLOR=black]   Case 13 : Response.Write “Data Object”
    [COLOR=black]   Case 17 : Response.Write “Byte”
    [COLOR=black]   Case 8192 : Response.Write “Variant Array”
    [COLOR=black] End Select
    [COLOR=#3366ff]%>
     
  3. GooKaa

    GooKaa Üye

    Kayıt:
    18 Mart 2007
    Mesajlar:
    227
    Beğenilen Mesajlar:
    0
    Demek istedigim bu degildi. Sql sorgularinda bazi kelimeleri '&kelime&' seklinde ' ve & simgeleri arasina alirken bazen '+kelime+' seklinde ' ve + simgeleri ile ceviriyoruz bazen daha da degisik kullaniyoruz. Sql baglanti tumcesinde bunlar. Bunlari neden kullandigimizi bilmiyorum. Ben hep deniyorum hangisini kabul ederse onu kullaniyorum diger scriptlerden baka baka yapiyorum ama neyi nicin yaptigimi bilmiyorum. Bunu ogrenmek istiyorum. Tesekkurler.
     
  4. anov

    anov erlang programcýsý adayý

    Kayıt:
    29 Nisan 2004
    Mesajlar:
    3,488
    Beğenilen Mesajlar:
    0
    Meslek:
    İnternet Programcısı (Kreatif Design Studio)
    Şehir:
    Mavi kabarcığın içi
    & string birleştirme operatörüdür. (VBScript)

    Sql sorgusu epi topu bir string den ibarettir. Bu sorguyu oluştururken bazı alanların içeriğini bilir ve sorgu içinde sabit olarak belirtiriz. Ancak bilmediğimiz (taşıyacağı değer başka bir değişkenden gelen) kısımları da bu birleştirme operatörü ve değişken ismini yazarak tamamlamış oluruz.

    Ancak birleştirme yeterli bir işlem değil. Çünkü sql sorgusu + veri birleşiminde gelen verinin tipine göre sorguya aktarım biçimini değiştirmemiz gerekiyor. Yani birleştirme işlemi bizim asp değişkenlerimizin sql sorgusu içinde yer alması için ama sql sorgusu içindeki tipinin anlaşılması için tek tırnak içine alınması gerekebilir.

    Asp yazdığım zamanlardan aklımda kalanlar: (Yanıldığım nokta varsa lütfen düzeltiniz)
    Gelen veri bir sayı ise herhangi bir sınırlandırıcı koymaya gerek yok.
    Tarih ise tek tırnak (Sql server)
    Tarih ise diyez # (Access)
    Tarih için yıl.ay.gün saat:dakika formatını tercih etmeli.
    varchar, char gibi bir tip ise tek tırnak (sql server , access)

    Başkaca da bir sınırlandırıcıya ihtiyaç yok diye hatırlıyorum.

    Ancak, sql sorgusunu string birleştirerek oluşturmak çok büyük risk oluşturmaktadır. Ne kadar uğraşırsanız uğraşın sql injection kabus olacaktır. Ferruh Mavituna bu konuda oldukça fazla yöntem bulmuştu.

    Tavsiyem, adovbs.inc dosyası ile Command nesnesini kullanıp sorgu cümlesini şu şekilde oluşturmak:
    "select makale_baslik from makaleler where tarih=@tarih"

    Sonra @tarih isimli bir parametre ekleyip kullanmak.

    Not: Bu parametre ekleme şekillerinde de sql server ile access arasında farklılıklar var. Access bütün parametreleri ? şeklinde yazılıyor ve eklenme sırası ayırt etmede etkili oluyor.
    Not.Not : Bu kadar çok konuştum ama keşke bir iki örnek yazacak vaktim (veya hevesim :) ) de olsaydı...

    Kolay gelsin.