Asp Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    masumsunsen
    masumsunsen's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    Selam arkadaşlar..Asp ile ilgili bir sıkıntım var ve ne yaptımsa çözemedim.Kırmızı ile yazılan satırda hata alıyorum.Heralde querystring hem id için hem de sayfalama için getirirken çakışıyor.Yardımcı olabilirseniz sevinirim.

     

     

           <%

     

    veritabaniyolu = "a.mdb"

    Set baglantimiz = Server.CreateObject("ADODB.Connection")

    baglantimiz.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("a.mdb")

    id = request.querystring("id")

    Session("id") = id

    Set rs = Server.CreateObject("ADODB.Recordset")

    sql="select * from tbforum where kat_id="& id &" order by id desc" //BU SATIRDA HATA ALIYORUM

    rs.Open sql, baglantimiz,1,3

     

    if rs.eof or rs.bof then

    response.write ".."

    else

    end if

     

    Toplam = rs.RecordCount 

     

    If Toplam = 0 Then

     

    Response.Write "Tabloda Kay&#305;t Yok"

     

    Else

     

    intGecerliSayfa = Request.Querystring("sayfa")

    If intGecerliSayfa = "" OR IsNumeric(intGecerliSayfa) = False Then intGecerliSayfa = 1

     

    rs.PageSize =30

    intSayfaSayisi= rs.PageCount

    rs.AbsolutePage =intGecerliSayfa

     

    Aralik = 2

    intSayfaAltSiniri = intGecerliSayfa - Aralik

    intSayfaUstSiniri = intGecerliSayfa + Aralik

    intSolGrupSayisi = 1 + Aralik

    intSagAltSinir = intSayfaSayisi - Aralik

     

    If (intSayfaUstSiniri >intSayfaSayisi) Then

    intSayfaAltSiniri = intSayfaSayisi - (2 * Aralik)

    intSayfaUstSiniri = intSayfaSayisi

    End If

     

    If (intSayfaAltSiniri <= 0) Then

    intSayfaAltSiniri = 1

    intSayfaUstSiniri = intSayfaAltSiniri + (2 * Aralik)

    If intSayfaUstSiniri >= intSayfaSayisi Then intSayfaUstSiniri = intSayfaSayisi

    End If

     

    If intSolGrupSayisi >= intSayfaAltSiniri Then intSolGrupSayisi = intSayfaAltSiniri - 1

    If intSagAltSinir <= intSayfaUstSiniri Then intSagAltSinir = intSayfaUstSiniri + 1

     

    %>          

                 <% for k=1 to rs.pagesize %>

                          <% if rs.eof or rs.bof then exit for %>

                      <a href="x.asp?id=<%=rs("id")%>"><%=rs("icerik")%></a>

                       <%

                     rs.movenext : next

                     %>

               <%

     

    If intGecerliSayfa >1 Then %>

                    <a href="" title="ilk Sayfa">[&laquo;&laquo;]</a> <a href="" title="&Ouml;nceki Sayfa">[&laquo;]</a>

                    <%

    End If

    %>

                    <%

    For i = 1 to intSolGrupSayisi

    If CInt(i) = (intGecerliSayfa) Then

    Response.Write " <b>"

    Else %>

                    <a href="" title="<%=i%>. Sayfa">

                    <%

    End If

    Response.Write i &".</a></b>"

    Next

    %>

                    <%

    If (intSayfaAltSiniri - intSolGrupSayisi >1 ) Then Response.Write "<b>. . .</b>"

    %>

                    <%

    For i = intSayfaAltSiniri to intSayfaUstSiniri

    If CInt(i) = CInt(intGecerliSayfa) Then

    Response.Write " <b>"

    Else %>

                    <a href="?sayfa=<%=i%>" title="<%=i%>. Sayfa">

                    <%

    End If

    Response.Write i &".</a></b>"

    Next

    %>

                    <%

    If (intSagAltSinir - intSayfaUstSiniri >1) Then Response.Write "<b>. . .</b>"

    %>

                    <%

    For i = intSagAltSinir to intSayfaSayisi

    If CInt(i) = CInt(intGecerliSayfa) Then

    Response.Write " <b>"

    Else %>

                    <a href="?sayfa=<%=i%>" title="<%=i%>. Sayfa">

                    <%

    End If

    Response.Write i &".</a></b>"

    Next

    %>

                    <%

    If CInt(intGecerliSayfa) <>CInt(intSayfaSayisi) Then %>

                    <a href="?sayfa=<%=intGecerliSayfa+1%>" title="Sonraki Sayfa">[&raquo;]</a> <a href="" title="Son Sayfa">[&raquo;&raquo;]</a>

                    <%

    End If

    %>

                    <% end if %>

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ThundeR
    ThundeR's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek

    ne hatası alıyorsun, hata mesajını yazar mısın

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    masumsunsen
    masumsunsen's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    Aşağıdaki hatayı alıyorum

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'kat_id='.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    eagleofcondor
    eagleofcondor's avatar
    Kayıt Tarihi: 13/Haziran/2007
    Erkek

    id = request.querystring("id") 'den id değişkenine veri bekliyor olmasın veri gelmezse hata alıyor olabilirsin .

    ayrıca baglandığın veritabanını ve tablolarını kontrol et müridim

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    bir önceki sayfadan gelen değerin id olduğuna emin misin hocam? msn pm at yardım edeyim.


    ..
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    masumsunsen
    masumsunsen's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    id ye göre link sayfaya gidiyor,orada da sayfalama yapıyorum.sayfa ilk açıldığında sorun yok,1. sayfa olarak açılıyor.ama 2. sayfayı tıklayınca veya 3 4 vs. bu hatayı alıyorum.Çünkü sayfa için de querystring den sayfa geliyor,bu sefer ilk querystringden gelen id kayboluyor ve yerine sayfa=2 vs geliyor.ya sayfalama için başka bir sayfa açıp include edicem ki denedim beceremedim, ya da querystrigdeki çakışmayı önleyicek bir kodlama yapmalıyım.nasıl olcak çözemedim

     

    Uygulamalı göstereyim.

    mesela:

    a sayfasında başlığa tıkladım şuraya gitti:         www.site.com/kategori.asp?id=1

    yeni açılan sayfada sayfalama var, rs.PageSize =1 ise ve 10 veri varsa 10 sayfa oluyor

    diyelimki 2. sayfayı tıkladık ve şuraya gidiyor:    wwwkategori.asp?sayfa=2   görüldüğü gibi id=1 kayboldu yerini sayfa=2 aldı

    ve şu hatayı veriyor

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'kat_id='.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    alp
    alp's avatar
    Kayıt Tarihi: 28/Ekim/2003
    Erkek

    kat_id'nin db'deki tipi ne hocam? int olduğuna emin misin?

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    masumsunsen
    masumsunsen's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    db deki karşılığı: kategori tablosundaki id ye karşılık geliyor.yani id yazmadım da kat_id yazdım. 

    db(yani a.mdb) deki tablolar-burada paylaştığım gibi yazıyorum

    tbforum:burada başlık, içerik, kat_id var

    tbforumkat:burada kat_id,kat var   bu kısım kategori tablosu

    tbforum dan verileri a sayfasına çıkartıyorum. orada link verip kat_id ye göre başka bir sayfaya gönderiyorum,mesela b sayfası olsun.

    <a href="b.asp?id=<%=rs("kat_id")%>"><%=rs("kat")%></a>

    b sayfasında da o kategoride ne kadar veri varsa çıkartıyorum ve pagesize=1 ise ve 10 veri varsa sayfalama yapıyorum

    B SAYFASININ KODLAMASI:

    <%

     

    veritabaniyolu = "a.mdb"

    Set baglantimiz = Server.CreateObject("ADODB.Connection")

    baglantimiz.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("a.mdb")

    id = request.querystring("id")

    Session("id") = id

    Set rs = Server.CreateObject("ADODB.Recordset")

    sql="select * from tbforum where kat_id="& id &" order by id desc" //BU SATIRDA HATA ALIYORUM

    rs.Open sql, baglantimiz,1,3

     

    if rs.eof or rs.bof then

    response.write ".."

    else

    end if

     

    Toplam = rs.RecordCount 

     

    If Toplam = 0 Then

     

    Response.Write "Tabloda Kay&#305;t Yok"

     

    Else

     

    intGecerliSayfa = Request.Querystring("sayfa")

    If intGecerliSayfa = "" OR IsNumeric(intGecerliSayfa) = False Then intGecerliSayfa = 1

     

    rs.PageSize =30

    intSayfaSayisi= rs.PageCount

    rs.AbsolutePage =intGecerliSayfa

     

    Aralik = 2

    intSayfaAltSiniri = intGecerliSayfa - Aralik

    intSayfaUstSiniri = intGecerliSayfa + Aralik

    intSolGrupSayisi = 1 + Aralik

    intSagAltSinir = intSayfaSayisi - Aralik

     

    If (intSayfaUstSiniri >intSayfaSayisi) Then

    intSayfaAltSiniri = intSayfaSayisi - (2 * Aralik)

    intSayfaUstSiniri = intSayfaSayisi

    End If

     

    If (intSayfaAltSiniri <= 0) Then

    intSayfaAltSiniri = 1

    intSayfaUstSiniri = intSayfaAltSiniri + (2 * Aralik)

    If intSayfaUstSiniri >= intSayfaSayisi Then intSayfaUstSiniri = intSayfaSayisi

    End If

     

    If intSolGrupSayisi >= intSayfaAltSiniri Then intSolGrupSayisi = intSayfaAltSiniri - 1

    If intSagAltSinir <= intSayfaUstSiniri Then intSagAltSinir = intSayfaUstSiniri + 1

     

    %>          

                 <% for k=1 to rs.pagesize %>

                          <% if rs.eof or rs.bof then exit for %>

                      <a href="x.asp?id=<%=rs("id")%>"><%=rs("icerik")%></a>

                       <%

                     rs.movenext : next

                     %>

               <%

     

    If intGecerliSayfa >1 Then %>

                    <a href="" title="ilk Sayfa">[&laquo;&laquo;]</a> <a href="" title="&Ouml;nceki Sayfa">[&laquo;]</a>

                    <%

    End If

    %>

                    <%

    For i = 1 to intSolGrupSayisi

    If CInt(i) = (intGecerliSayfa) Then

    Response.Write " <b>"

    Else %>

                    <a href="" title="<%=i%>. Sayfa">

                    <%

    End If

    Response.Write i &".</a></b>"

    Next

    %>

                    <%

    If (intSayfaAltSiniri - intSolGrupSayisi >1 ) Then Response.Write "<b>. . .</b>"

    %>

                    <%

    For i = intSayfaAltSiniri to intSayfaUstSiniri

    If CInt(i) = CInt(intGecerliSayfa) Then

    Response.Write " <b>"

    Else %>

                    <a href="?sayfa=<%=i%>" title="<%=i%>. Sayfa">

                    <%

    End If

    Response.Write i &".</a></b>"

    Next

    %>

                    <%

    If (intSagAltSinir - intSayfaUstSiniri >1) Then Response.Write "<b>. . .</b>"

    %>

                    <%

    For i = intSagAltSinir to intSayfaSayisi

    If CInt(i) = CInt(intGecerliSayfa) Then

    Response.Write " <b>"

    Else %>

                    <a href="?sayfa=<%=i%>" title="<%=i%>. Sayfa">

                    <%

    End If

    Response.Write i &".</a></b>"

    Next

    %>

                    <%

    If CInt(intGecerliSayfa) <>CInt(intSayfaSayisi) Then %>

                    <a href="?sayfa=<%=intGecerliSayfa+1%>" title="Sonraki Sayfa">[&raquo;]</a> <a href="" title="Son Sayfa">[&raquo;&raquo;]</a>

                    <%

    End If

    %>

                    <% end if %>

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

    2. sayfa ile beraber Aldığım hata:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'kat_id='.

     

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek

    id = request.querystring("id")

    Session("id") = id

    ne yapmaya çalışıyosun yavrum sen makinenin aklı karışacak.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    alp in demek istedigi veri tabanın da kat_id tipi sayımı ? demos un dedıgı de mantıklı bır degıskene atayıp cagırabılırsın kanımca

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tutkun
    tutkun's avatar
    Kayıt Tarihi: 20/Mayıs/2010
    Erkek

    sql="select * from tbforum where kat_id="& id &" order by id desc" //BU SATIRDA HATA ALIYORUM

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

    Yerine;

    sql="select * from tbforum where kat_id='"& id &"' order by id desc"

    kullan. Yani: kat_id='id' bu problem çok olur.


    Bilen konuşmuyor, konuşan bilmiyor...
Toplam Hit: 1958 Toplam Mesaj: 13