Şub
20Veritabanına ait bazı işlemleri daha önceki yazılarımızda işlemiştik. şimdi artık yavaş yavaş işlemler yapmaya başlıyoruz. İlk yazımız veritabanına yeni kayıt ekleme.
Amacımız form aracılığı ile veritabanına kayıt ekleme. Bunun için öncelikle Access (Office paketi ile birlikte gelen program) Veritabanı uygulamasını açınız ve yeni bir tablo yaratınız. Tablo yapınız aşağıdaki gibi olmalı;
Veritabanınızı veritabanim.mdb olarak isimlendirin.
Tablo adını aspogren olarak isimlendirin.
ID - Otomatik Sayı
adi - Metin (Altta özelliklerde karakter uzunluğunu 25 yapınız.)
soyadi - Metin (Altta özelliklerde karakter uzunluğunu 25 yapınız.)
adresi - Not
Uyarı : Veritabanı, tablo ve alan adlarında Türkçe karakter kullanılmayacağını unutmayın.
şimdi form sayfamınızı hazırlayalım. Bunun için default.asp adlı dosyanıza aşağıdaki kodları yazınız.
Adınız : <input type="text" name="ad" size="30" maxlength="25" /><br />
Soyadınız : <input type="text" name="soyad" size="30" maxlength="25" /><br />
Adresiniz : <textarea name="adres" cols="24" rows="5"></textarea><br />
<input type="submit" value="Kaydet" />
</form>
Zaman zaman html bilgiside vereceğimizi belirtmiştik. Burada yabancı olduğumuz maxlength ifadesinin anlamı "Girilebilecek en uzun karakter sayısı" anlamındadır. Yani Belirttiğimiz input text alanına en fazla 25 karakter girilmesini istiyoruz.
şimdi formumuzun işleneceği isle.asp dosyamızı oluşturarak geniş bir sorgu oluşturalım.
ad = request.form("ad")
soyad = request.form("soyad")
adres = request.form("adres")
'ad,soyad ve adres değişkenlerimizi aldık
If Len(ad) < 3 then
response.write "Lütfen geri dönerek adınızı yazınız"
'Eğer ad değişkeni 3 karakterden kısa ise uyarı ver
ElseIf Len(soyad) < 3 then
response.write "Lütfen geri dönerek soyadınızı yazınız"
'Eğer soyad değişkeni 3 karakterden kısa ise uyarı ver
ElseIf Len(adres) < 10 then
response.write "Lütfen geri dönerek adresinizi yazınız"
'Eğer adres değişkeni 10 karakterden kısa ise uyarı ver
Else
Set ODBC = Server.CreateObject("ADODB.Connection")
ODBC.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("veritabanim.mdb")&""
'ODBC adında bir set ile veritabanına bağlantı sağla
Set kayit = ODBC.Execute("Insert into aspogren (adi,soyadi,adresi) values ('"&ad&"','"&soyad&"','"&adres&"')")
Set kayit = nothing
response.write "Tebrikler, kaydınız tamamlandı"
'Kaydı tamamla ve mesaj gönder
ODBC.Close
End If
%>
Ve bir kaç kayıt ekledikten sonra veritabanınızı kontrol edin, göreceksiniz ki eklediğiniz kayıtlar düzenli olarak girilmiştir.
Bu uygulamaya ait örneği bilgisayarınıza indirmek için lütfen tıklayınız.
Etiketler : veritabani kayit ekle insert into values sql len
İçeriği takip etSayfayı YazdırPermalink10 yorum var
#195.-The scorpion-19 Mayıs 2007 Cumartesi
Veritabanındaki verileri degistirmek yenilemek (update islemlerini) en kısa zamanda bekliyoruz . Emeginize saglık ... Basarılar
#217.-delgado-09 Haziran 2007 Cumartesi
güzel bir örnek teşekkürler işime yaradı
#232.-Orkinos18-18 Haziran 2007 Pazartesi
Verdiğiniz bilgiler için çok sağolun. Ancak Bişey sormak istiyorum: Genellikle execute komutunu kulanmışsınız. Recordset kullanılmamış . Bu ikisinin ilişkisini anlayamadım. recordset nerelerde kullanılır? execute nerelerde kullanılır. yoksa ikisinin birbiriyle bi ilgisi yok mu? Tşk.
#233.-SrcnCkr-18 Haziran 2007 Pazartesi
execute ile recordset aynı işlevi görmektedir. Ama ben mysql kullandığımdan el alışkanlığım hep execute metoduna gidiyor. Çünkü mysql'de bazı fonksiyonlar desteklenmiyor. Örneğin sayfalama yaparken mysql'de limit, ama access'de pagesize vs. kullanılır.
Peki şöyle bir soru sorsaydın cevabım ne olurdu? Execute'mi yoksa recordset'mi kullanmalıyım? Tavsiyem execute'den yana olur. Çünkü, recordset'e göre daha hızlıdır. Ve son bir ipucu (uyarı) daha vermek gerekirse SQL cümlelerinizi dikkatli hazırlayın.
Örneğin tablo alanlarınız id,ad,soyad,numara,sıra şeklinde olsun. Siz bir liste yapacaksınız ve burada sadece id,ad,soyad gerekli. O zaman select * form tabloadi değilde select id,ad,soyad form tabloadi şeklinde yazın. Bu çok önemli bir unsurdur.
Burada tablodaki okunmayacak alanları açmadığınızdan hem güvenlik, hem performans olarak size artı kazandıracaktır. Her açılan alan kayıp bir zamandır. Ve ileride çok büyük veritabanlarıyla çalıştığınızda aradaki zaman farkı bir uçurum olacaktır. Bu zaman diliminin yanına birde sitenin stil dosyası ve grafiklerinin yüklendiğini göz önüne alırsanız 1-2 saniyenin bile sizin için önemli olacağını sakın unutmayın!.
#354.-hakkı karahan-04 Ekim 2007 Perşembe
Teşekkürler yeni başladım asp ye daha önceden php biliyordum ve php yi çok sevdim...
şimdi asp ögrenmem gerekiyor işim gereği.
Acaba bana bir veritabanından kayıt ekleme, kayıt, silme, kayıt düzeltme gibi ana unsurları içeren bir örnek gösterirmisin?
yada sende varsa gönderebilir misin? tam olarak anlayabileceğim dogruluguna emin oldugum bir kaynak bulamadım
birsürü db baglama yöntemi var local de calısıcam ben.. php deki gibi select_db gibi bişiler de vardır elbet...
yardımcı olursan cok sevinirim..
birde bu recordset olayı vbscript oluyo dimi? vb den böyle seyler biliyorum ama ben su an vbscript olayına girmek istemiyorum.. asp bu işi kendi başına halledemez mi? burda yaptıgınız sadece asp sanırım dimi?
cevabınızı bekliyorum şimdiden teşekkürler.
sizlere bu konuda sitede yardımcı olunacaktır, kısa bir süre sonra forum uygulamamız açılacaktır. burdan da müjdesini vereyim 
#375.-Çetin KARLI-22 Ekim 2007 Pazartesi
Merhabalar. ASP öğrenmeye yeni başladım. Tam her şey yolunda gidiyorduki veri tabanına veri aktarmak istedediğimde sürekli hatalarla karşılaştım. Lütfen bilen biri bana ASP de veri Acceses veri tabanına bağlanıp veri aktarmayı anlatabilirmi. ılgilerinize çok teşekür ederim. Herkese iyi çalışmalar.
#498.-serhat-19 Şubat 2008 Salı
/isle.asp, line 27 hatası veriyor. örnektede hata var, onuda indirdim denedim !!!! düzeltirseniz sevinirim
#548.-güvenlik sistemleri-29 Mart 2008 Cumartesi
böyle çalışmalrın devamını bekliyoruz sizlerden..
teşekkürler
#580.-Ömer-20 Nisan 2008 Pazar
yaw hatalı bu kendim de yaptım dosyanızı da indirdin kaydete basıom
Hata Tipi:
Microsoft JET Database Engine (0x80004005)
İşlem, güncelleştirilebilir sorgu kullanmalıdır.
/veritabani/isle.asp, line 27
yap şunu bi nolur düzelt
