Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 16/07/2003, 19:24   #1 (permalink)
Eski toprak
 
Üyelik Tarihi: 05/2003
Yer: TurKey
Mesaj: 1,623
Varsayılan lütfen acil yardım..

Uzun bir aradan sonra tekrar merhaba arkadaşlar..
Bu sorumla uzun süre ilgilenemedim. dün tekrar başladım veyine size bi kaç sorum olacak..
tablo ilişkilendirmeyi yaptım. üç adet tablom var:
*konular
*yazilar
*yazarlar

konular tablomda;
konuid ve konuadi,

yazilar tablomda;
yaziid, yazi, baslik, konuno ve yazarno,

yazarlar tablomda ise;
yazarid ve yazaradi adlı alanlarım var..

yazilar tablomdaki konuno alanını, konular tablomdaki konuid alanı ile ilişkilendirdim. yine yazilar tablomdaki yazarno alanını yazarlar tablosundaki yazarid alanın ile ilişkilendirdim. (siz böyle demiştiniz.. ) neyse ayrıca bilgi tutarsızlığını zorla ve güncelleştir seçeneklerini de aktif hale getirdim.
sıra geldi kayıt giriş sayfalarına:

konu_ekle.asp sayfası yaptım ve adı "konuadi" olan bir textbox ile konu adı ekliyorum. formu konuekle.asp ye gönderiyorum.. konuekle.asp sayfasının kodları aşağıdaki gibi:

<%
Response.Expires = -1000
Response.Buffer=True

konuadi = Request.Form("konuadi")

set baglanti = server.createObject("ADODB.connection")
baglanti.Open "driver={microsoft access driver (*.mdb)}; DBQ=" & server.MapPath("../../../../ambar/vt1.mdb")
strSQL = "INSERT INTO konular (konuadi) values('"&konuadi&"')"
baglanti.Execute(strSQL)
konuadi = Request.Form("konuadi")
response.Redirect("yazar_ekle.asp")
%>

kayıt yapıldıktan sonra yazar eklemek için redirect ile yazar_ekle.asp sayfasını çağırıyorum. bu sayfa da benzer şekilde adı "yazaradi" olan bir textbox ile yazar ekliyorum. ve form bilgilerini yine konuekle.asp ile kaydediyorum ve redirect ile mesaj_ekle.asp sayfasını çağırıyorum..

yazarekle.asp sayfasını konu:

<%
Response.Expires = -1000
Response.Buffer=True

yazaradi = Request.Form("yazaradi")

set baglanti = server.createObject("ADODB.connection")
baglanti.Open "driver={microsoft access driver (*.mdb)}; DBQ=" & server.MapPath("../../../../ambar/vt1.mdb")
strSQL = "INSERT INTO yazarlar (yazaradi) values('"&yazaradi&"')"
baglanti.Execute(strSQL)
yazaradi = Request.Form("yazaradi")
response.Redirect("mesaj_ekle.asp")
%>

mesaj_ekle.asp sayfasında baslik, yazarno, konuno adlarında textboxlar ve yazi adında metin kutusu var.. bunları action="mesajekle.asp" ye yoluyorum ve kayıt ediyorum ama bu işlemlerden pek bişey anladığım söylenemez.. vt yi açıyorum.. ne biliyim şu tablo ilişkilendirme çok acayip geldi..

neyse asıl mesele kayıtları ekliyorum da istediğim gibi görüntüleyemiyorum.. ziyaretçi tarafındaki sayfalar index.asp konuların sıralandığı sayfa kaynaklar.asp yazarların sıralandığı sayfa index.asp de konular sıralanıyor ama birden fazla kayıt girilmiş olan konular index.asp de de birden fazla görüntüleniyor acemi demişti ki ilişki olduğu için distinct kullanmana gerek yok haklı olabilir. bana da mantıklı geliyor ama nerde hata yapıyorum acaba.. ikinci sorun:
yukarıdaki koddaki gibi link verdiğim zaman kaynaklar.asp sayfasındaki tablo bomboş yani tıklanan konuda hiç yazar adı listelemiyor..

kaynaklar.asp sayfasının kodu:

<%
Set baglanti = Server.CreateObject("ADODB.Connection")
baglanti.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../ambar/vt1.mdb")
set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT yazaradi, yazarid " & _
"FROM yazarlar INNER JOIN yazilar " & _
"ON yazarlar.yazarid = yazilar.yazarno " & _
"WHERE konuno = " & clng(konuid) & " " & _
"GROUP BY yazaradi, yazarid " & _
"ORDER BY yazaradi;"
rs.open strSQL,baglanti,1,3
do while not rs.eof
%>
<tr>
<td width="5%" bgcolor="#000084">
<p align="center">
<img border="0" src="../../resimler/konular/bas.gif" width="9" height="9"></td>
<td width="57%" bgcolor="#000084">
<a href="kaynakindex.asp?kaynak=<%=rs("yazarid")%>" style="text-decoration: none"><span style="font-size: 11pt"><%= rs("yazaradi") %></span></a> </td>
<% rs.movenext
loop %>


yardımlarınız bekliyorum arkadaşlar herşey için çok saolun iyi çalışmalar..
(Extra soru:İlişkilendirme yaparken hangi alanla hangi alanın ilişkilendirileceğini nasıl anlarız yani nasıl bir mantık ?)
__________________
Güçlü bir TÜRKİYE için önce güçlü bir TÜRKÇE!
DotNetKid hatta değil   Alıntı Yaparak Yanıtla
Eski 16/07/2003, 21:31   #2 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Veritabaninda kayitlar var ve bunlari gosteremiyorsan, muhtemelen sorgulamada kullandigin SQL ifadesinin WHERE bolumunde bir hata vardir.

Veya kayitlar JOIN ile birlestirilemiyorsa, kayitseti bos geliyordur.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 17/07/2003, 04:11   #3 (permalink)
Eski toprak
 
Üyelik Tarihi: 05/2003
Yer: TurKey
Mesaj: 1,623
Varsayılan

bu ne demek oluyor ki kayıt seti boş gelmek ya da join ile birleştirmek bunların ne anlama geldiğini bilmiyorum. ayrıca sayfa kodları yukarıda where komutunun kullanıldığı sayfalar da yukarıda lütfen bizahmet bakıverseniz.. tşkler. iyi çalışmalar..
(bu programda kullandığım hemen tüm sayfaların kodları yukarıda kısacası) eksiğim ya da hatam varsa lütfen yardım edin. iki aydır yapamadım şu olayı..
__________________
Güçlü bir TÜRKİYE için önce güçlü bir TÜRKÇE!
DotNetKid hatta değil   Alıntı Yaparak Yanıtla
Eski 17/07/2003, 10:34   #4 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

strSQL = "SELECT yazaradi, yazarid " & _
"FROM yazarlar INNER JOIN yazilar " & _
"ON yazarlar.yazarid = yazilar.yazarno " & _
"WHERE konuno = " & clng(konuid) & " " & _
"GROUP BY yazaradi, yazarid " & _
"ORDER BY yazaradi;"



Mesela bu sorguda clng(konuid) degeri bos veya yanlis olabilir. Oyle olunca, veritabaninda herhangi bir kayit bulunamiyor ve kayitseti (yani gelen kayitlarin toplanacagi nesne, yani rst) bos kaliyordur.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 18/07/2003, 00:04   #5 (permalink)
Eski toprak
 
Üyelik Tarihi: 05/2003
Yer: TurKey
Mesaj: 1,623
Varsayılan

hocam dediğim gibi sırayla kayıtları giriyorum.. yani önce konu adını sonra yazar adını sonra da yazı başlığı ve yazıyı (makale) giriyorum yani tüm işlemler sırayla ve düzenli olarak yapılıyor. konuid nin boş kalması imkansız.. zaten vt yi açıp bakıyorum da.. ama sanki ilişkilendirme de bir mantık hatası var gibime geliyor.. mesela bir konu ekledim (ASP) yazar ekledim (ali) sonra başlik ve yazıyı ekledim bu sayfadaki yazar ve konu no ya 1 dedim ilk konu ve ilk yazar.. ikinci bir konu ekledim.. (Delphi) yazar ekledim (ali) yazı ve başlığı ekledim bu sayfadaki konu no ya 2 yazar no ya da 1 dedim.. vtyi açıp bakıyorum konular tamam konuid 1=asp, konuid 2=Delphi, ilişki kurduğu alanlarda doğru ama yazarlar tablosunabaktığımda şu garip manzara çıkıyor karşıma: yazarid 1=yazar adi=Ali ilişkide (sol daki + ya tıklıyom yazi=fhsdf, baslik=baslik1, konuno=1) var ama yazarid 1 de iki kayıdıda gösteriyor. yazarid 2 bomboş..
__________________
Güçlü bir TÜRKİYE için önce güçlü bir TÜRKÇE!
DotNetKid hatta değil   Alıntı Yaparak Yanıtla
Eski 18/07/2003, 10:55   #6 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Yazdiklarini anlamak icin yogun caba sarfediyorum. Bu konuda tavsiyem, mesajlarini kisa tutman, sade bir anlatim kullanman ve paragraflarla, mesaji daha anlasilir parcaciklara bolmen.


* Tablondaki veriler su sekilde mi?

yazar
------
1, ali


konu
-----
1, ASP
2, Delphi


yazi
----
1, 1, asp yazisi basligi
1, 2, delphi yazisi basligi



* Dedigin ornekte garip olan ne? Neyi gostermesi gerekiyordu da, gostermedi?
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 18/07/2003, 19:24   #7 (permalink)
Eski toprak
 
Üyelik Tarihi: 05/2003
Yer: TurKey
Mesaj: 1,623
Varsayılan

hayır tablodaki kayıtlar tam olarak böyle değil.

yazar tablosuna iki farklı kayıt girilmiş gibi gösteriyor. yani
yazarid= 1=Ali
yazarid= 2=Ali

diğerleri:

konu
-----------
konuid= 1=ASP
konuid= 2=Delphi

yazi
---------
yaziid= 1,2 (birinci kayıt, ikinci kayır anlamında..)
yazi = yazi1 , yazi2
baslik = baslik1, baslik 2
konuno = 1, 2
yazarno= 1, 1

işte böyle
bu arada yazarlar tablosunda dediğim gibi aynı kaydı iki farklı "id" de tutuyor halbuki ilişki olduğu için (yani bence mantığıma göre) tek id olmalıydı çünkü yazar isim ve noları aynı yoksa ilişki kurmanın ne anlamı kalıyorki yazarlar tablosunda iki id var (yazarid) yani iki kayıt var ve ikisi de aynı ada sahip yazarlar ama hani vt de en soldaki alanın bir solunda + işaretleri oluyor ya ilişki kurunca.. + ya tıklayınca içerdiği diğer kayıtları filan gösteriyor.. yanlış bir durum daha var yazarid=1=Ali olan kaydın yanındaki + ya tıklıyom girmiş olduğum iki kayıtta mevcut. güzel ama yazarid=2=Ali olan kaydın yanındaki + ya tıklıyorum içi bomboş.. sanırım anlatabildim inş. tşk ederim cevabınızı bekliyorum.
__________________
Güçlü bir TÜRKİYE için önce güçlü bir TÜRKÇE!

Enson 18/07/2003 19:34 tarihinde DotNetKid tarafından düzenlenmiştir..
DotNetKid hatta değil   Alıntı Yaparak Yanıtla
Eski 18/07/2003, 19:35   #8 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Veriler bu sekildeyse yazarid'si 2 olan kayit icin iliskili bir kayit gostermemesi normal cunku o yazar icin yazi'lar tablosuna bir kayit girilmemis.

Sen nasil olmasini bekliyordun?
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 19/07/2003, 05:42   #9 (permalink)
Eski toprak
 
Üyelik Tarihi: 05/2003
Yer: TurKey
Mesaj: 1,623
Varsayılan

ne biliyim aynı ada sahip olunca ööle sandım peki hata nerde o zaman hocam.. yani anlaşılan burada sorun yok. yani vtde.. öölese sorun nerde neden listeleme yaparken yukarıda bahsettiğim sorunlar oluyor yukarıdaki sorunlarım tam anlaşılmadı ise tekrar yazabilirim tşkler..
__________________
Güçlü bir TÜRKİYE için önce güçlü bir TÜRKÇE!
DotNetKid hatta değil   Alıntı Yaparak Yanıtla
Eski 21/07/2003, 19:02   #10 (permalink)
Eski toprak
 
Üyelik Tarihi: 05/2003
Yer: TurKey
Mesaj: 1,623
Varsayılan

Yaa Allah rızası için yardım eden yok mu?
__________________
Güçlü bir TÜRKİYE için önce güçlü bir TÜRKÇE!
DotNetKid hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
acil yardım lütfen eenginoglu Java / JSP 2 13/03/2007 17:30
acil yardım lütfen korkmaz_cuneyt Windows 2 02/03/2007 22:33
Acil Yardım Lütfen Cenko Veritabanları & SQL 1 17/01/2007 18:19
Lütfen cok acil yardım... qb18 Java / JSP 1 09/09/2006 11:44
Çok Çok acil yardım lütfen !!! fukuda Web Tasarım 5 03/01/2005 04:11


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 12:08.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net