asp bilen arkadaşlar...

Kodla Büyü

maybee_07

Site Gezgini
Mesajlar
32
Asp de bir anket hazırlıyorum. bu konuda çok iyi değilim.50 soru var ve her soruda 5 seçenek var.seçeneklerin % sini hesaplattırmaya çalışıyorum. bunun için her seçenekte 1 değişken tanımladım ve birde toplam değişkeni var .50 soru için 50*5=250 değişken yapıyor.toplamda 300 ü buluyor.

sorunum şu bu şekilde çalıştırırsam
Microsoft VBScript runtime error '800a0006'
Overflow
hatasını alıyorum. değişkenleri silersem sayfa çalışıyor. bu sorunu nasıl çözeceğim. bu kadar fazla değişken kullanmadan yapılabilir mi bu anket. yardımcı olursanız çok sevinirim arkadaşlar.

sayfanın çalışan hali
http://www.cakacaytepeilkogretim.k12.tr ... rapor1.asp

hatalı hali
http://www.cakacaytepeilkogretim.k12.tr/anket/rapor.asp

dosyada burada.

yardımcı olursanız çok sevinirim arkadaşlar.
 

Ekli dosyalar

internet bağlantım gitmişti, yeni yazabildim.
hocam dosyana yeni baktım, asp ile ilgileneli yıllar oldu ama gördüğüm kadarıyla şöyle yapmışsın
veritabanında cevapların tek tek kaydı var, mesela 1. soru için cevabı 1 olanları sayaçla saydırmışsın ve yüzde hesaplayıp bunları değişkene yazdırıyorsun
bir sürü sorgulama, bir sürü değişken olursa overflow olur tabi, gördüğüm hataları söyleyim. overflow taşma demek, bu kadar çok değişken olunca ram'a fazla yükleniliyor.
yüzde için ayrı bir değişken tanımlaman gereksiz
hatta toplam için de değişken tanımlama, bu değişkenleri oluşturmadan ekrana yazdırabilirsin sonuçları
veritabanında anket kayıtları niye tek tek, mesela 1. soruya 2 cevabını verenlerin sayısı olabilir, direk okutursun
ayrıca her soruyu niye tek tek okutuyorsun, bir sorgulama yaparak bütün kayıtları gösterebilirsin
ve bütün kayıtları tek sayfada göstermek yerine niye sayfalama yapmıyorsun.
"select * from sorular where soru6" diye bir sorgu biraz garip değil mi :D ayrıca * kullanmışsın, tablondaki bütün alanları kullanmayıp sorgu ifadende * kullanırsan performans hatası yapmış olursun
performans hatası yönünden coşmuşsun hocam :D
 
ve ilaveten şunu söyleyim;
madem bu yoldan yapıyorsun, yaptığın yolda da bir sürü performans hatan var.
ilk kod bloğunda yuzde11, sayac11, toplam1 gibi değişkenler tanımlamışsın, ikinci kod bloğunda yuzde21, sayac21, toplam2 gibi değişkenler tanımlamışsın. ilk kod bloğunda tanımladığın değişkenleri 2. kod bloğunda niye tekrardan kullanmıyorsun, ilk kod bloğunda kullandığın değişkenlerin işi bittiği için tekrar kullanılmasında bir sakınca yok.
gereksiz yere 49 kat fazladan değişken oluşturuyorsun...
 
Hocam piyasa da bir çok asp için anket scripti var birini indir kodlarını incele bence, daha fazla fikir verebilir belki.
 
çok kasmışsın be dostum
algoritma kurgun yanlış

db de 1 tablon olacak
alanlar şöyle olacak
soru--veri türü --metin
aşıkkı--veritürü--evet-hayır
bşıkkı--veritürü--evet-hayır
cşıkkı--veritürü--evet-hayır
dşıkkı--veritürü--evet-hayır
eşıkkı--veritürü--evet-hayır

tüm sorular burda olacak ve seçili olanlar db ye evet diye kaydedilecek

raporda ne mi yapacaksın?
"select sum(aşıkkı) as alar from sorular where aşıkkı=true"
a yüzdesi=% alar*2

"select sum(bşıkkı) as bler from sorular where bşıkkı=true"
b yüzdesi=% bler*2

"select sum(cşıkkı) as cler from sorular where cşıkkı=true"
c yüzdesi=% cler*2
..........


kolay gelsin
 
BBNET
Geri
Üst