|
|
#1 (permalink) |
|
Üyelik Tarihi: 12.01.2002
Yer: İstanbul
Mesaj: 15
|
ASP: Veritabanı: Anlayamadığım bir problem
ELimdeki kod:
<% Dim DbConn Set DbConn = server.CreateObject("ADODB.Connection") DbConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("vt/vtse.mdb") Dim dbKul dbKul = DbConn.Execute("Select * From Uye") If dbKul.EoF Or dbKul.BoF Then Response.Write "Hata" Response.End End If Response.Write dbKul("UyeAdi") & "<br>" dbKul.Movenext Response.Write dbKul("UyeAdi") & "<br>" Set dbKul = Nothing DbConn.Close Set DbConn= Nothing %> Böyle basit bir kod var elimde. Çalıştırıldığında çıkan problem: Microsoft VBScript çalýþma hatasý error '800a01b6' Nesne bu özellik veya yöntemi desteklemiyor: 'EoF' /a.ASP, line 8 Eğer oradaki EoF ve BoF sorgulamasını kaldırırsam ilk satırdaki bilgiler okunabiliyor, sonrasında ilk hata gibi 'Movenext' desteklenmiyor hatası alıyorum. Sistemimde bulunan aynı veritabanını kullanan .ASP dosyaları da dahil hepsi düzgünce çalışmakta. Oldukça düşünmeme rağmen hatayı farkedemedim, benim kodlamamda hiçbir hata yok gibi geliyor bana. Yardımlarınız için şimdiden teşekkürler. Saygılarımla... |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 14.02.2002
Yer: bilmiyorum
Yaş: 28
Mesaj: 415
|
selam
ilk önce böyle bir şey olmayacak ; Response.Write dbKul("UyeAdi") & "<br>" dbKul.Movenext bu satır:----> Response.Write dbKul("UyeAdi") & "<br>" alttaki response.write kalkacak gerisi için birşey yazamıyorum cafe deyim ama ben bunu gördüm. |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 12.01.2002
Yer: İstanbul
Mesaj: 15
|
Bu kod hatayı irdelemek için modifiye edilmiş halde. Aslında yine de dediğin yerle olan problemi de pek anlamış değilim, açıklarsan sevinirim. Üzgünüm fakat dediğin ile temel hatanın pek bir alakası yok sanırım. Yine de yardımın için teşekkürler.
Saygılar... |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,912
|
recordset üzeirnde movenet yaptıktan sonra bir sonraki kaydın ilgili alanını gösterir.
movenext yapıp kayıt sonu kontrol edilmiyor. bu yüzden hata verebilir. ancak asıl hatayı veren kod, bir connection'un kontrolünün EOF ile yapılması. bu problem teşkil eder. aşağıdaki kod tüm tabloyu tarayıp üye adlarını yazacaktır... bu şekilde kullanım esneklik sağlar... <% Dim DbConn Set DbConn = server.CreateObject("ADODB.Connection") DbConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("vt/vtse.mdb") Set rsDbKul = server.CreateObject ("ADODB.Recordset") sqlrsDbKul = "Select * From Uye" rsMK.Open sqlrsDbKul, dbConn, 1, 3 if rsDbKul.EOF then response.write "dosya sonu. kayıt bulunamadı" else while not rsDbKul.EOF response.write rsDbKul("UyeAdi")&"<br>" rsDbKul.movenext wend rsDbKul.close set rsDbKul=nothing DbConn.Close Set DbConn= Nothing %>
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#5 (permalink) | |
|
Üyelik Tarihi: 03.02.2001
Yer: Istanbul
Yaş: 23
Mesaj: 153
|
Re: ASP: Veritabanı: Anlayamadığım bir problem
Alıntı:
Set dbKul = DbConn.Execute("Select * From Uye") olmali. calisir, emin olabilirsin. absconder senin dedigin yontem'de 3,3 ile acarsin tum islemleri yapmaya yetkin olur fakat bu yontem server ram'inden ve diger kaynaklarindan oldukca fazla yer. Ama dedigin dogrudur. saygilarimla... Mesaj sLYsHARk tarafından 18.04.2002 (16:46) yeniden düzenlendi.. |
|
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 12.01.2002
Yer: İstanbul
Mesaj: 15
|
O kadar süre uğraştıktan sonra Set ibaresini koymadığımı görünce oldukça şaşırdım. O kadar uzun düşünmenin sonucu çıkan sorunun basitliği olarak giden zamanıma yandım oldukça.
absconder'ın yöntemi de çalışmakta tabi. Recordset biçiminde açmayı da ayrıca denemiştim ama çalışmıştı. Fakat Execute ile neden çalışmadığını anlayamamıştım. Aragorn, absconder ve C00101100, zaman ayırdığınız için teşekkürler. Sağolun yardımlarınız için. Saygılarımla... |
|
|
|
Zoque'a hoşgeldiniz!