Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » SQL sorguda %10 -+ deger getirmek


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 08.03.2007   #1 (permalink)
akgun
 
Üyelik Tarihi: 10.05.2005
Yer: konya
Yaş: 35
Mesaj: 44
SQL sorguda %10 -+ deger getirmek

arkadaşlar aşağıda çalışan bir sorgu var.

veritabanında çıkısdevri isimli tabloda arama yaparken formdan girilen degerin %10 üstü veya %10 altında bakacak

yani formdan gelen cikisdevri= 4,6 ise bunu hem +%10 5,6 hem -%10 3,6 şeklinde listeleyecek...

bunun için ne yapmam gerekli nasıl bir koşul tanımlamam gerekir yardımcı olurmusunuz.?


PHP Code:
SQL "SELECT * FROM urun WHERE motorgucu LIKE '%"&motorgucu&"%' and cikisdevri LIKE '%"&cikisdevri&"%' and yuksinifi LIKE '%"&yuksinifi&"%' and calismasaati LIKE '%"&calismasaati&"%' and startStopSayisi LIKE '%"&startStopSayisi&"%'  ORDER BY id DESC " 
akgun şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 08.03.2007   #2 (permalink)
akgun
 
Üyelik Tarihi: 10.05.2005
Yer: konya
Yaş: 35
Mesaj: 44
Re: SQL sorguda %10 -+ deger getirmek

artieksi = cikisdevri * cikistolerans / 100

SQL = "SELECT * FROM urun WHERE motorgucu LIKE '%"&motorgucu&"%' and cikisdevri BETWEEN '"&cikisdevri-artieksi&"' and '"&cikisdevri+artieksi&"' and yuksinifi LIKE '%"&yuksinifi&"%' and calismasaati LIKE '%"&calismasaati&"%' and startStopSayisi LIKE '%"&startStopSayisi&"%' and cikisdevri between " & ORDER BY id DESC "

bu şekilde yaptım olmadı hatam nerede ?
akgun şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 08.03.2007   #3 (permalink)
burakozgur
 
burakozgur's Avatar
 
Üyelik Tarihi: 07.03.2007
Yer: Ankara
Mesaj: 165
Re: SQL sorguda %10 -+ deger getirmek

Merhaba

'%"&motorgucu&"%' bu sekilde yaptıgında +-%10 olayı olmuyor. Bu yaptığını açıklayacak olursak;
- motorgucu değişkeninin sağını ve solunu açık bırakıyorsun. Mesela motorgücü 4,6 diyelim. Eğer veritabanında 14,6 veya 4,6666 varsa bunlar listelenecektir, çünkü %4,6% yaptık.

Gelelim senin olayına;
<%
'Gelen verimiz örnekde 4,6 olsun
motor_gucu=CInt(4,6)

'Şimdi yapmak istediğimiz 3,6 ile 5,6 arasını listeletmek. +1,0 ve -1,0.
'Önce +1,0 yapalım.

motor_guc_aralik_1=CInt(motor_gucu+1)
'Şimdide -1,0.
motor_guc_aralik_2=CInt(motor_gucu-1)

'SQL Cümlemizi düzeltelim.
SQL = "Select * from Urun Where motorgucu<='" & motor_guc_aralik_1 & "' and motorgucu>='" & motor_guc_aralik_2 & "' ..... geri kalan verilerin."
%>

Bu alanı Between ile de yapman mümkün. Orasını yapmakta artık biraz araştırma yapmana kalıyor.

Kolay gelsin
burakozgur şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 09.03.2007   #4 (permalink)
akgun
 
Üyelik Tarihi: 10.05.2005
Yer: konya
Yaş: 35
Mesaj: 44
Re: SQL sorguda %10 -+ deger getirmek

teşekkürler güzel fikir denedim ama (yanlış yapmışda olabilirim)
olmadı olamadı malesef

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Sürücüsü] Ölçüt ifadesinde veri türü uyuşmazlığı.
/oztekfen/www/arama1.ASP, line 103


cint yada cInt olmadı

bilgi: cikisdevri tabloda sayı'

yüzdüm yüzdük kuyruguna geldik şunun hadi bi el atın lütfen...


PHP Code:
<style type="text/CSS">
.
tdlnav1off {
    
BORDER-TOP#ffffff 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; BORDER-BOTTOM: #d5dadf 1px solid; BACKGROUND-COLOR: #e6ebf1
}
.
tdlnav1on {
    
BORDER-TOP#ffffff 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #d5dadf 1px solid; BACKGROUND-COLOR: #e0e8f2
}
.
tdlnav2off {
    
BORDER-TOP#ffffff 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; BORDER-BOTTOM: #DFDFDF 1px solid; BACKGROUND-COLOR: #EFEFEF
}
.
tdlnav2on {
    
BORDER-TOP#ffffff 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #DFDFDF 1px solid; BACKGROUND-COLOR: #E8E8E8
}
</
style>

<
div align="center">
    <
table border="0" cellpadding="0" width="100%" id="table1">
       <
tr>
         <
td>
         
<
font color="#E8E8E8">
         
<!-----<
font face="Verdana" color="#707DA9" size="2">Aranan Degerler<br></font>--->
         
<% 
Function 
FullTrim(ByVal theStr)
    
theStr Replace(theStrvbCr"")
    
theStr Replace(theStrvbLf"")
    
theStr Replace(theStr"."",")
    
theStr Replace(theStrvbTab"")
    
FullTrim Trim(theStr)
End Function 
  
session.LCID=1055
session
.codepage=1254

if session ("dil")="t" then
    sonek
=""
else 
    
sonek=session ("dil")
end if

'################## TANIMLAMALAR ######################################

altkats= FullTrim (request("altkats"))
baglanticapi= FullTrim (request("baglanticapi"))
calismasaati= FullTrim (request("calismasaati"))
yuksinifi= FullTrim (request("yuksinifi"))
motorgucu= FullTrim (request("motorgucu"))
baglantitipi= FullTrim (request("baglantitipi"))
cikisdevri= FullTrim (request("cikisdevri"))
startStopSayisi= FullTrim (request("startStopSayisi"))
cikisTolerans= FullTrim (request("cikisTolerans"))



'
################## TANIMLAMALAR ######################################

'################## GELEN VERiLER ######################################
response.write "FORMDAN GELEN VERILER" &"<BR>"&"<BR>"
response.write "altkats=" & request("altkats")&"<BR>"
response.write "baglantiCapi=" & request.form("baglantiCapi")&"<BR>"
response.write "calismasaati=" & request.form("calismasaati")&"<BR>"
response.write "yuksinifi=" & request.form("yuksinifi")&"<BR>"
response.write "motorgucu=" & request.form("motorgucu")&"<BR>"
response.write "baglantitipi=" & request.form("baglantitipi")&"<BR>"
response.write "cikisdevri=" & request.form("cikisdevri")&"<BR>"
response.write "startStopSayisi=" & request.form("startStopSayisi")&"<BR>"
response.write "cikistolerans=" & request.form("cikistolerans")&"<BR>"
'
################## GELEN VERiLER ######################################

'################## ARAMA SORGU ######################################


Set db = server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../db/mega_vtdb2006.mdb")
Set rs = server.CreateObject("ADODB.Recordset")

'
Gelen verimiz örnekde 4,6 olsun
motor_gucu
=Cint (Request.form("cikisdevri"))
'motor_gucu=Cint (Request("cikisdevri")) 

'
Şimdi yapmak istediğimiz 3,6 ile 5,6 arasını listeletmek. +1,0 ve -1,0.
'Önce +1,0 yapalım.
motor_guc_aralik_1=CInt(motor_gucu+1)
'
Şimdide -1,0.
motor_guc_aralik_2
=CInt(motor_gucu-1)





'SQL = "SELECT * FROM urun WHERE motorgucu LIKE '%"&motorgucu&"%' and cikisdevri  BETWEEN '"&cikisdevri-artieksi&"' and '"&cikisdevri+artieksi&"' and yuksinifi LIKE '%"&yuksinifi&"%' and calismasaati '%"&calismasaati&"%' and startStopSayisi '%"&startStopSayisi&"%'  ORDER BY id ASC "
'
SQL "SELECT * FROM urun WHERE motorgucu LIKE '%"&motorgucu&"%' and cikisdevri LIKE '%"&cikisdevri&"%' and yuksinifi LIKE '%"&yuksinifi&"%' and calismasaati LIKE '%"&calismasaati&"%' and startStopSayisi LIKE '%"&startStopSayisi&"%'  ORDER BY id DESC "
'SQL = "SELECT * FROM urun WHERE motorgucu LIKE '
%"&motorgucu&"%' and cikisdevri LIKE '%"&cikisdevri&"%' and yuksinifi LIKE '%"&yuksinifi&"%' and calismasaati LIKE '%"&calismasaati&"%' and startStopSayisi LIKE '%"&startStopSayisi&"%'  ORDER BY id DESC "



'
SQL Cümlemizi düzeltelim.
SQL "Select * from Urun Where cikisdevri <='" motor_guc_aralik_1 "' and cikisdevri >='" motor_guc_aralik_2 "' and motorgucu LIKE '%"&motorgucu&"%' and yuksinifi LIKE '%"&yuksinifi&"%' and calismasaati LIKE '%"&calismasaati&"%' and startStopSayisi LIKE '%"&startStopSayisi&"%'  ORDER BY id DESC "


rs.Open SQL,db,1,3
if rs.eof then
response
.write SQL 

'################## ARAMA SORGU ######################################%>

                  </font>
                  <p align="center">
                        <font color="#2C6483" size="1" face="Tahoma"><strong>
                    <%=sonuc%></strong></font></p>
                  <p align="center"><font color="#000000" size="1" face="Tahoma">
                  <%else%></font></p>
                  <p align="center">
                        <font color="#2C6483" size="1" face="Tahoma"><strong>
                    <%=bul2%></strong></font></p>
<div align="center">
<table border="1" cellspacing="1" style="border-collapse: collapse" width="99%" id="table565" bordercolor="#E8E8E8">
    <tr>
        <td align="center" bgcolor="#999999" height="29" width="42">
        <font face="Tahoma" size="1" color="#FFFFFF">Ürün Adı</font></td>
        <td align="center" bgcolor="#999999" height="29" width="52">
        <font color="#FFFFFF" size="1" face="Tahoma">
                        MotorGücü<br>Pm[kW]</td>
        <td align="center" bgcolor="#999999" height="29" width="56">
        <font color="#FFFFFF" size="1" face="Tahoma">
        Çıkış Devri<br>Na 1min d/d</td>
        <td align="center" bgcolor="#999999" height="29" width="62">
        <font color="#FFFFFF" size="1" face="Tahoma">
                                        i<br>
&nbsp;(tahvil oranı)</td>
        <td align="center" bgcolor="#999999" height="29" width="67">
        <font color="#FFFFFF" size="1" face="Tahoma">
                        
                              Servis
                        
                              Faktörü<br>fs (fb)</td>
        <td align="center" bgcolor="#999999" width="37" height="29">
        <font color="#FFFFFF" size="1" face="Tahoma">
                    Ağırlık<br>&nbsp;</td>
        <td align="center" bgcolor="#999999" height="29" width="55">
        <font color="#FFFFFF" size="1" face="Tahoma">
                            Anma 
                              Akımı<br>A</td>
        <td align="center" bgcolor="#999999" height="29" width="50">
        <font color="#FFFFFF" size="1" face="Tahoma">
                        Gövde
                        Tipi</td>
        <td align="center" bgcolor="#999999" height="29" width="67">
        <font color="#FFFFFF" size="1" face="Tahoma">
Güv. 
                              Rad. Yük<br>N</td>
        <td align="center" bgcolor="#999999" height="29" width="63">
        <font color="#FFFFFF" size="1" face="Tahoma">
                        Çıkış 
                              Momenti<br>Ma Nm<%while not rs.eof
toplam=rs.recordcount%></td>
    </tr>
    <tr oclass=tdlnav1off onmouseover="this.className='
tdlnav1on'" onmouseout="this.className='tdlnav1off2'" align="center" width="8%" bordercolor="#E6E6E6" onclick="window.location.href='default.ASP?pg=detay&konu=<%=RS("id")%>">
        <td width="
42" bgcolor="#666666">
                        
<font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("isim"session("dil"))%></font></a></td>
        <
td width="52" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("motorgucu"session("dil"))%></font></a></td>
        <
td width="56" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("cikisdevri"session("dil"))%></font></a></td>
        <
td width="62" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("tahvilorani"session("dil"))%></font></a></td>
        <
td width="67" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("servisfaktoru"session("dil"))%></font></a></td>
        <
td width="37" bgcolor="#666666">
                        <
a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("agirlik"session("dil"))%></font><font face="Arial" style="font-size: 7pt; text-decoration: none" color="#FFFFFF"kg</font></a><font color="#FFFFFF" face="Arial" style="text-decoration: none; font-weight:700"></td>
        <
td width="55" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("anmaakimi"session("dil"))%></font></a></td>
        <
td width="50" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("govdetipi"session("dil"))%></font></a></td>
        <
td width="67" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("govdetipi"session("dil"))%></font></a></td>
        <
td width="63" bgcolor="#666666">
                        <
font color="#FF6600" face="Verdana" style="font-size: 10pt; " size="1"><a href="default.ASP?pg=katkonu&kat=<%=RS("id")%>">
                
                <
font color="#FFFFFF" face="Arial" style="font-size: 7pt; text-decoration: none"
                        <%=
RS("cikismomenti"session("dil"))%>
         
         
         
         </
font></a></td>
         <%
rs.movenext
         wend
%>
                  </
table>
                  </
div>
                  <
p align="center">
                    <
font color="#FFFFFF" size="1" face="Tahoma">&nbsp;<strong><%=toplam%></strong> <strong>
                    <%=
bul%></strong></font></p>
                  
<% 
end if
rs.close
set rs
nothing
%>         
         
         </
td>
       </
tr>

    </
table>
</
div>
    <
p><font face="Verdana" style="font-size: 8pt" color="#FFFFFF">U=Düzenli M=Orta
    H
=Agır</font></p
akgun şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 09.03.2007   #5 (permalink)
akgun
 
Üyelik Tarihi: 10.05.2005
Yer: konya
Yaş: 35
Mesaj: 44
Re: SQL sorguda %10 -+ deger getirmek

yazdıktan sonra farkettim hatamı dikkatsizligimin kurbanı oluyorum hep

aşağıdaki şekilde düzelttim cikisdevri sayıydı metin yaptım


PHP Code:

'Gelen verimiz örnekde 4,6 olsun
motor_gucu=Cint (Request.form("cikisdevri"))
'
motor_gucu=Cint (Request("cikisdevri"))

'Şimdi yapmak istediğimiz 3,6 ile 5,6 arasını listeletmek. +1,0 ve -1,0. benbunu cikisdevrini aldırarak yaptım
'
Önce +1,0 yapalım.
motor_guc_aralik_1=CInt(motor_gucu+cikistolerans)
Şimdide -1,0.
motor_guc_aralik_2
=CInt(motor_gucu-cikistolerans
ancak busefer de sorgunun çıktısında

FORMDAN GELEN VERILER ŞUNLARDIR

altkats=MRA serisi
baglantiCapi=0
calismasaati=8
yuksinifi=U
motorgucu=0.12
baglantitipi=0
cikisdevri=4.6
startStopSayisi=0-100
cikistolerans=10
SQL çıktısı


Select * from Urun Where cikisdevri <='56' and cikisdevri >='36' and motorgucu LIKE '%0,12%' and yuksinifi LIKE '%U%' and calismasaati LIKE '%8%' and startStopSayisi LIKE '%0-100%' ORDER BY id ASC 463656

görüyorum

yani veritabanında degerler 4,6 veya 50 veya 1,12 gibi..

formda girilen deger 4.6 (noktalarıda virgüle çeviriyorum)

eee where is the problem..?
akgun şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin