BASKALE.NETGOO

BASKALE.NETGOO

BLUE-MOON-HACKERTEAM
 
AnasayfaAnasayfa  GaleriGaleri  Üye ListesiÜye Listesi  Kullanıcı GruplarıKullanıcı Grupları  Kayıt OlKayıt Ol  Giriş yapGiriş yap  
Arama
 
 

Sonuç :
 
Rechercher çıkıntı araştırma
En son konular
» Delphi Derleyicileri Başlığı
Paz Şub. 20, 2011 12:53 am tarafından byhuysuz

» Modemi hızlandırma
C.tesi Şub. 19, 2011 2:17 pm tarafından byhuysuz

» Visual Studio 2010 Yükle Sadece [10mb]
C.tesi Şub. 19, 2011 12:16 pm tarafından byhuysuz

» Adobe'nin Bütün Versiyonları İçin Crack
Salı Şub. 15, 2011 9:25 pm tarafından byhuysuz

» 1st javascript Editor Professional Edition v5.1 | 8.11 Mb
Salı Şub. 08, 2011 3:35 pm tarafından byhuysuz

» 30 Sn'de [Pc Çökertme + Panzehir]
Ptsi Şub. 07, 2011 4:13 pm tarafından byhuysuz

» Java Görsel Eğitim Seti
Ptsi Ağus. 09, 2010 9:32 pm tarafından admin

» Programlamaya Nereden Baslamali?
Ptsi Ağus. 09, 2010 9:30 pm tarafından admin

» C / C++ E-Book Paylaşımı
Ptsi Ağus. 09, 2010 9:29 pm tarafından admin

» C dilinde basit bir mayın tarlası programı
Ptsi Ağus. 09, 2010 9:05 pm tarafından admin

» Delphi 7 Katılımsız Full | 150mb |
Ptsi Ağus. 09, 2010 8:58 pm tarafından admin

» Delphi 1
Ptsi Ağus. 09, 2010 8:57 pm tarafından admin

» İnternetle İlgili Doğru Sanılan Efsaneler
Ptsi Ağus. 09, 2010 8:54 pm tarafından admin

» Tek Tip Şarj Cihazı Dönemi Başlıyor ..
Ptsi Ağus. 09, 2010 8:53 pm tarafından admin

» Türk mucitten 7 boyutlu sinema
Ptsi Ağus. 09, 2010 8:52 pm tarafından admin

» Schrödinger’in Kedisi | Hem Ölü Hem Canlı
Ptsi Ağus. 09, 2010 8:51 pm tarafından admin

» Win Vista Püf Noktaları ve Optimizasyon
Ptsi Ağus. 09, 2010 8:48 pm tarafından admin

» Bölüm İndex
Ptsi Ağus. 09, 2010 8:47 pm tarafından admin

» Win 7 Püf Noktaları ve Optimizasyon
Ptsi Ağus. 09, 2010 8:45 pm tarafından admin

» Win Xp Püf Noktaları ve Optimizasyon
Ptsi Ağus. 09, 2010 8:44 pm tarafından admin

» Yeni Güvenlik Uygulamalarımız (2010)
Ptsi Ağus. 09, 2010 8:43 pm tarafından admin

» Önemli Olan Güvenlik İse?
Ptsi Ağus. 09, 2010 8:42 pm tarafından admin

» Perl ve Python Exploit Bilgisi (Bug-Res)
Ptsi Ağus. 09, 2010 8:41 pm tarafından admin

» Sonu Olmayan Bir Hack Dökümanı Bug-Res
Ptsi Ağus. 09, 2010 8:40 pm tarafından admin

» Hacking Interface Kitabı - X-Master
Ptsi Ağus. 09, 2010 8:38 pm tarafından admin

» Bug Nedir? Nasıl Oluşur/Bulunur? Bug-Res
Ptsi Ağus. 09, 2010 8:37 pm tarafından admin

» Gerçek Pc Hızlandırma(Uçak Gibi)
Cuma Ağus. 06, 2010 8:46 pm tarafından admin

» 50 Adet Hack Videosu Türkçe [Videolar]
Cuma Ağus. 06, 2010 8:45 pm tarafından admin

» İndexinize Bilgisayarınızdan Arka Plan Müziği||Mr.SoLucaN
Cuma Ağus. 06, 2010 8:44 pm tarafından admin

» Hatırlamadığınız Şifreyi Kırın! 2010
Cuma Ağus. 06, 2010 8:41 pm tarafından admin

» Adsl Hack - Adsl Hackleme - Adls Hack 2010
Cuma Ağus. 06, 2010 8:01 pm tarafından admin

» 2009 Full Anti-Virus Programları
Cuma Ağus. 06, 2010 7:58 pm tarafından admin

Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum

Paylaş | 
 

 ASP ile Veri Tabanı

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
admin
spyajan
spyajan
avatar

Aktiflik :
0 / 9990 / 999

Mesaj Sayısı : 1028
Yaş : 27
Kayıt tarihi : 23/07/08

MesajKonu: ASP ile Veri Tabanı   Çarş. Tem. 30, 2008 1:13 pm

ASP ile Veri Tabanı

--------------------------------------------------------------------------------

ASP ile veritabanı bağlantısı yapabilmek için bizim ilk etap olarak kullanacağımız Microsoft Access programına (Ofis Paketi ile birlikte gelir.)
ve bir web sunucuya ihtiyacımız var. Bu web sunucusu bilgisayarımızdaki IIS, PWS olabilir veya bir hosting olabilir.

Önce Microsoft Access programını açıyoruz. CTRL+N ile yeni bir Veritabanı (Bundan sonra VT diyeceğim) yaratıyoruz. VT'mizi web sunumuzun altında ana dizininin üzerindeki db dizinine deneme.mdb adıyla kayıt ediyoruz.

Create Table In Design View (Tasarım görünümünde tablo oluştur) 'i tıklıyoruz. Üç kısımı bir form gelicek karşımıza. Birinci kısıma alan (field) ismini yazacağız. İkinci kısımda alan türünü seçeceğiz. Üçüncü kısım genellikle kullanılmaz ama alanın açıklaması oraya yazılır.

Biz fldAuto, fldIsim, fldTelefon isimli üç alan yaratıyoruz.

fldAuto için Otomatik Sayı'yı (Auto Number) seçiyoruz.
fldIsim ve fldTelefon için Metin'i (Text) seçiyoruz.

Sonra kaydetme tuşuna basıyoruz. Tablo adını soran bir dialog gelicek karşımıza tblTablo yazıyoruz. Sonra Birincil Anahtar ile ilgili bir uyarı gelicek evet diyoruz. Artık tablomuz yaratıldı.

Şimdi ASP dosyamızı açıyoruz; (Adı dboku.asp olsun)


Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection") ' Veritabanına bağlanmak için gerekli nesneyi yarattık.
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";" 'Bağlantı komutumuzu yazdık.

objConn.Open strConn 'Bağlanma komutunu verdik

strSQL = "SELECT * FROM tblTablo ORDER BY fldIsim ASC"

'SELECT veritabanından veri almak için kullanılan bir SQL komutudur.
'* ile tüm alanları almasını belirtik. İsterseniz tüm alanları yazabilirsiniz; fldAuto, fldIsim, fldTelefon gibi.
'FROM hangi tablodan veri alacağımızı belirlemeye yarar.
'tblTablo ile tablo adımızı da belirttik
'ORDER BY sıralamayı belirlememizi sağlar.
'fldIsim sıralamanın fldIsim alanına bağlı olmasını sağlıyor.
'ASC ile sıralama türü. ASC olursa A-Z'ye (Yükselen) DESC olursa Z-A'ya (Azalan) sıralama yapmış oluruz.

SET objRS = Server.CreateObject("ADODB.Recordset") ' Kayıt setini oluşturduk.
objRS.Open strSQL, objConn, 1, 3

'.Open komutu ile bağlantı açmasını istiyoruz.
'strSQL ile SQL Sorgusunu belirliyoruz.
'objConn ile Bağlantı nesnesini belirliyoruz.
'1, 3 ise cursor adını verdiğimiz olay. Kayıt setinin özelliklerini belirliyor.

Do UNTIL objRS.Eof 'Kayıtların sonuna kadar veri almasını istiyoruz.
Response.Write objRS("fldIsim") & " adlı kişinin telefon numarası : " & objRS("fldTelefon") & "
"
'Kayıtlarımızı objRS("Alanadi") şeklinde alıyoruz.
objRS.MoveNext 'Bir sonraki kayıta geçmesini istiyoruz."
Loop 'Döngünün başa dönmesini ve devam etmesini istiyoruz.

objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.

objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.

%>SQL'de yaygın olarak kullanılan 4 sorgu komutu vardır; SELECT, UPDATE, DELETE, INSERT

SELECT : Veri almaya yarar.
UPDATE : Verilerin içeriğini güncellemeye yarar.
DELETE : Verileri silmeye yarar.
INSERT : Veri eklemeye yarar.

SELECT Komutu;

Genel olarak 3 veya 4 kısımdan oluşur.


Kod:
SELECT *
FROM tblTablo
WHERE fldField = 'Veri'
ORDER BY fldField ASCSELECT * ile hangi fieldlerden veri alacağımızı belirliyoruz. * kullanmak tüm fieldleri seçtiğimizi belirtiyor. SELECT fldField de diyebilirdik.

FROM tblTablo ile hangi tablodan veri alacağımızı belirliyoruz. tblTablo veri alacağımız tablonun ismi.

WHERE fldField = 'Veri' ile koşullarımızı belirliyoruz. Burda fldField alanının içeriği Veri olanları al diyoruz.

ORDER BY fldField ASC sıralamayı belirler. fldField alanına göre ve artan (A-Z) sıralama yapmasını belirtiyoruz. ASC yerine DESC olsaydı Z-A yani azalan sıralama yapmasını belirtmiş olacaktık.


WHERE alt cümleciği (veya komutu) ile birlikte LIKE da kullanabiliriz. Direk WHERE fldField = 'Veri' dediğimiz zaman sadece tüm kaydı aynı olanlar çıkar.

Yani WHERE fldIsim = 'Can' dediğimiz zaman Alican veya Özgecan ismine sahip olan kişiler çıkmaz. Sadece Can olanlar çıkar.

WHERE fldIsim LIKE '%Can%' dediğimiz zaman ise içinde can geçen herkez çıkar.

LIKE ile en çok kullanılan % ve _ jokerleri vardır. % bulunduğu yerdeki bir veya daha uzun metinleri belirtirken _ ise sadece bir karakter uzunluğundaki metinleri kasteder. Yani C_n ile Can'ı alabiliriz ama Caan'ı alamayız. Caan'ı almak için C%n kullanmalıyız.



Kod:
UPDATE tblTablo
SET fldField = 'Veri', fldField2 = 'Veri2'
WHERE fldField = 'Koşul'UPDATE tblTablo ile hangi tabloda güncelleme yapacağımızı belirliyoruz.

SET fldField = 'Veri', fldField2 = 'Veri2' ile değişikliklerimizi yapıyoruz. Bir alanda daha değişiklik yapmak istediğimizi düşünelim; SET fldField = 'Veri', fldField2 = 'Veri2', fldField3 = 'Veri3' şeklinde kullanabiliriz.

WHERE fldField = 'Koşul' ile koşulumuzu belirledik yani bu değişiklikler sadece fldField alanı koşul olan kayıtlarda gerçekleşecek. Eğer Bu komutu kullanmazsak değişiklik tüm kayıtlarda yapılır.

SQL Cümleciği ile güncelleme yaptığımız gibi Kayıt seti ile de yapabiliriz nasıl mı?


Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";"
objConn.Open strConn
strSQL = "SELECT * FROM tblTablo WHERE fldField = 'Veri'"

SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3

objRS("fldField") = "Veri" 'Değişikliklerimizi yapıyoruz.
objRS("fldField2") = "Veri2"
objRS("fldField3") = "Veri3"
objRS.Update 'Güncelleme komutu veriyoruz.

objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.

objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.
%>
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://baskale.netgoo.org
admin
spyajan
spyajan
avatar

Aktiflik :
0 / 9990 / 999

Mesaj Sayısı : 1028
Yaş : 27
Kayıt tarihi : 23/07/08

MesajKonu: devamı   Çarş. Tem. 30, 2008 1:14 pm

DELETE veri silmeye yarar;


Kod:
DELETE FROM tblTablo
WHERE fldField = 'Veri'DELETE FROM tblTablo : Verilerin silineceği tablo(veya tabloları) belirlememizi sağlar.

WHERE fldField = 'Veri' : Koşul belirlememizi sağlıyor.. Eğer bu komutu kullanmazsak tüm kayıtlar silinir.

SQL Sorgusuyla silme yapabildiğimiz gibi kayıt seti ile de silme yapabiliriz.


Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";"
objConn.Open strConn
strSQL = "SELECT * FROM tblTablo WHERE fldField = 'Veri'"

SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3

objRS.Delete 'Silme komutu veriyoruz.

objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.

objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.
%>INSERT kayıt eklemeye yarar;


Kod:
INSERT INTO tblTablo (fldField, fldField2, fldField3)
VALUES ('Veri', 'Veri2', 'Veri3')INSERT INTO tblTablo (fldField, fldField2, fldField3) : Hangi tablo ve o tablonun içindeki hangi alanlara (field) veri girileceğini belirliyoruz.

VALUES ('Veri', 'Veri2', 'Veri3'); Ekleyeceğimiz verileri belirlememizi sağlar

SQL ile yaptığımız işi kayıt seti ile de yapabiliyoruz;


Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";"
objConn.Open strConn
strSQL = "SELECT * FROM tblTablo WHERE fldField = 'Veri'"

SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3
objRS.AddNew ' Yeni kayıt eklemesini belirtiyorux.
objRS("fldField") = "Veri" 'Verileri belirtiyoruz yapıyoruz.
objRS("fldField2") = "Veri2"
objRS("fldField3") = "Veri3"
objRS.Update 'Güncelleme komutu veriyoruz.

'Gördüğünüz gibi Kayıt eklerken de bir nevi güncelleme yapıyoruz.

objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.

objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.
%>SQL'in ASP ile kullanımında;


Kod:
<%
strSQL = " UPDATE tblTablo SET fldField = 'Veri' WHERE fldField = 'Koşul';"

objConn.Execute(strSQL)
%>şeklinde kullanılmalıdır.

INSERT, UPDATE ve DELETE komutları sadece objConn.Execute(strSQL) komutu ile kullanılabilir. Ancak SELECT mutlaka kayıtseti ile kullanılmalıdır.

INSERT, UPDATE ve DELETE komutlarının sonunda ; bulunmalıdır. SELECT'de bulunursa hata alınır.

Ayrıca SQL'de bunların haricinde ALTER TABLE, CREATE TABLE, DROP TABLE gibi komutlar da bulunmaktadır. Bunları da ileride işleyebiliriz.

Kayıtseti ile kullanabileceğiniz bir diğer komut ise .RecordCount. .RecordCount ile kayıt sayısını alabiliriz. Ancak burda dikkat etmemiz gereken yer KayıtSetinin en az 1,3 Cursorleri ile açılması gerektiğidir.


Kod:
<%
SET objConn = Server.CreateObject("ADODB.Connection") ' Veritabanına bağlanmak için gerekli nesneyi yarattık.
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deneme.mdb") & ";" 'Bağlantı komutumuzu yazdık.

objConn.Open strConn 'Bağlanma komutunu verdik

strSQL = "SELECT * FROM tblTablo ORDER BY fldIsim ASC"

'SELECT veritabanından veri almak için kullanılan bir SQL komutudur.
'* ile tüm alanları almasını belirtik. İsterseniz tüm alanları yazabilirsiniz; fldAuto, fldIsim, fldTelefon gibi.
'FROM hangi tablodan veri alacağımızı belirlemeye yarar.
'tblTablo ile tablo adımızı da belirttik
'ORDER BY sıralamayı belirlememizi sağlar.
'fldIsim sıralamanın fldIsim alanına bağlı olmasını sağlıyor.
'ASC ile sıralama türü. ASC olursa A-Z'ye (Yükselen) DESC olursa Z-A'ya (Azalan) sıralama yapmış oluruz.

SET objRS = Server.CreateObject("ADODB.Recordset") ' Kayıt setini oluşturduk.
objRS.Open strSQL, objConn, 1, 3

'.Open komutu ile bağlantı açmasını istiyoruz.
'strSQL ile SQL Sorgusunu belirliyoruz.
'objConn ile Bağlantı nesnesini belirliyoruz.
'1, 3 ise cursor adını verdiğimiz olay. Kayıt setinin özelliklerini belirliyor.

Do UNTIL objRS.Eof 'Kayıtların sonuna kadar veri almasını istiyoruz.
Response.Write objRS("fldIsim") & " adlı kişinin telefon numarası : " & objRS("fldTelefon") & "
"
'Kayıtlarımızı objRS("Alanadi") şeklinde alıyoruz.
objRS.MoveNext 'Bir sonraki kayıta geçmesini istiyoruz."
Loop 'Döngünün başa dönmesini ve devam etmesini istiyoruz.

Response.Write objRS.RecordCount & " telefon kaydı bulunmuştur."
objRS.Close 'Kayıt setimizi kapatıyoruz.
SET objRS = Nothing 'KAyıt setini temizliyoruz.

objConn.Close 'Bağlantıyı kesiyoruz.
SET objConn = Nothing 'Bağlantı nesnesini kapıyoruz.

%>SQL'de bazı fonksiyonlar bulunmaktadır;

SUM, DISTINCT, LEFT, RIGHT, LTRIM, TRIM , RTRIM, AVG, COUNT

SUM = Bir alanın tüm kayıtlar toplamını verir,
DISTINCT = Farklı Kayıtları alır
LEFT = Alanın başından belirli sayıda karakterden oluşan veri alır
RIGHT = Alanın sonundan almaya başlar.
LTRIM = Bir alanın başındaki boşlukları siler
TRIM= Bir alanın başındaki ve sonundaki boşlukları siler.
RTRIM = Sonundaki boşlukları siler
AVG = Bir sayı alanının ortalamasını alır
COUNT = Kayıtlar toplamını alır.

SELECT SUM(fldYas) As fldYasToplam FROM tblUyeler
SELECT DISTINCT(fldIsım) FROM tblUyeler
SELECT Left(fldIsim, 3) As fldIsimUc FROM tblUyeler
SELECT Right(fldIsim, 3) As fldIsimSonUc FROM tblUyeler
SELECT LTrim(fldKullaniciAdi) As fldKullaniciAdiSol FROM tblUyeler
SELECT LTrim(fldKullaniciAdi) As fldKullaniciAdiHepsi FROM tblUyeler
SELECT RTrim(fldKullaniciAdi) As fldKullaniciAdiSag FROM tblUyeler
SELECT AVG(fldYas) As fldYasOrtalamasi FROM tblUyeler
SELECT COUNT(*) As fldToplam FROM tblUyeler

Bu komutlar SQL de böyle yazılıyor işte. Recordset ile
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://baskale.netgoo.org
 
ASP ile Veri Tabanı
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
BASKALE.NETGOO :: PROGRAM DİLLERİ (giriş) :: Diğer Programlama Dilleri ve Databaseler-
Buraya geçin: