Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med databas. SQL-fråga?

Postades av 2005-07-19 11:41:06 - Stefan Beijer, i forum access, Tråden har 6 Kommentarer och lästs av 765 personer

Hoppas jag skriver i rätt forum annars får ni rätta mig! Själva felet hittar ni på http://www.streetcars.se/fastlane.asp Klicka på t.ex. T så dyker ett felmeddelande upp. Klicka på D så fungerar det hur bra som helst.
Nu var det ett tag sedan jag skrev koden men jag hittar inte felet. Finns säkert ett bättre sätt att göra SQL-frågorna som ni kanske kan hjälpa mig med. Jag lägger inte in all kod här utan länkar till ett textdokument: http://www.streetcars.se/fastlane.txt
Det verkar som om det blir fel när jag försöker hitta namnet på en medlem i en annan tabell. Alltså jag hämtar namnet ur en tabell och vill ha ut info med det specifika namnet ur en annan tabell.
Hoppas jag förklarat hyffsat..


Svara

Sv: Problem med databas. SQL-fråga?

Postades av 2005-07-19 11:43:20 - Mikael Svensson

Skulle tippa på att det inte finns några på T.
Har för mig att sådana felmeddelanden kommer då.
Så kolla om recordet du hämtar har några poster innan du börjar anända dem.
/Micke


Svara

Sv:Problem med databas. SQL-fråga?

Postades av 2005-07-19 11:50:34 - Stefan Beijer

Det finns en hel del medlemmar på T. Tar jag bort all kod som hämtar medlemmarnas namn/profil så visas deras bilar och inga felmeddelanden.


Svara

Sv: Problem med databas. SQL-fråga?

Postades av 2005-07-19 13:15:31 - Jenny Månsson

Kan det vara som så att du skickar in ett litet t men de är sparade med stort T i databasen?
Edit: Det går inta att söka på t i sökfältet heller...Jag tror att det ligger något felaktigt värde i en post med T och att den posten orsakar att inga t alls går att hämta


Svara

Sv: Problem med databas. SQL-fråga?

Postades av 2005-07-19 13:54:30 - Andreas Hillqvist

Jag har kikat i din kod. JAg får lov att säga att du med spänning kan se fram emot mycket att lära dig.

Jag ser det som den troligaste anledningen att det saknas en post i din tblAuthor tabell. Detta skulle ge det felmedelande du beskriver.

Jag har renskrivit din kod lite och lagt till lite optimeringar:

<!--#include file="htmlhead.asp" -->
<!--#include file="dbconn.asp" -->
<%
Function StripName(Name)
	StripName = Replace(Name,".","-")
	StripName = Replace(StripName,"å","a",,,vbTextCompare)
	StripName = Replace(StripName,"ä","a",,,vbTextCompare)
	StripName = Replace(StripName,"ö","o",,,vbTextCompare)
	StripName = Replace(StripName,":","",,,vbTextCompare)
End Function

%>
<table width='80%'>
	<tr>
		<td>
		<img src='bilder/cube.gif'>		
		<b class='rubrik'>Fastlane</b>
		<br>
		Här hittar du gatbilar som tillhör streetcars medlemmar.<br>
		

		
		
		
		
<% 
    if Request.cookies("namn") <> "" then
        Response.write "Din Fastlane kontrollpanel"
    end if
	
    startmapp = Server.MapPath("fastlane")

%>
<form name="search" method="post">
Sök medlem eller bil: <input name="ord" type="text" size="30"><%=Request.Form("ord")%></input> <input name="action" type="submit" value="Sök">		
</form><br>

Visa medlemmar: 
<%
Dim fso
Dim Temp
Dim Data()
Dim strFilter
Dim ValidFilter

    
    Set fso = CreateObject("Scripting.FileSystemObject")      

    Data = Array("Alla", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Å", "Ä", "Ö")

    ValidFilter = false
    strFilter = Request.querystring("visa")

    For Each Temp In Data
        Response.write "" & Server.HTMLEncode(Temp) & ""

        'Validerar querystring värdet visa
        If Temp = strFilter Then
            ValidFilter = true
        End If
    Next
%>
<br><br><br>
		</td>
	</tr>
</table>
<%

    'Sök på namn eller bilmodell
    If Request.Form("action") = "Sök" then

%>
<table width='60%'>
	<tr>
		<td><b class='rubrik'>Medlemsprofil:</b>
		</td>
		<td><b class='rubrik'>Fastlane:</b>
		</td>
	</tr>
<%

        'Sök på medlemsnamnet
        Dim strSQL
        Dim strFind 
        strFind = Replace(request.form("ord"), "'", "''")
        strSQL = "SELECT tblFastlane.*, tblAuthor.Author_ID" & vbCrLf & _
                 "FROM tblFastlane LEFT JOIN tblAuthor ON tblFastlane.fastUser = tblAuthor.Username" & vbCrLf & _
                 "WHERE fastUser LIKE  '%" & strFind & "%' OR fastModell LIKE  '%" & strFind & "%'" & vbCrLf & _
                 "ORDER BY fastUser ASC"

        Set RS = Conn.Execute(strSQL)

        Dim fldAuthorID 
        Dim fldFastUser
        Dim fldFastModell
        
        Set fldAuthorID = RS("Author_ID")
        Set fldFastUser = RS("fastUser")
        Set fldFastModell = RS("fastModell")

        Do Until RS.EOF
%>
        <tr><td>
	    
<%
	
            strFastUser = StripName(fldFastUser.Value,".","-")
	
            Response.write Server.HTMLEncode(strFastUser) & "</td>"
            Response.write "<td>" &  Server.HTMLEncode(fldFastModell) & "" 
	
            'Sök om medlemmen lagt upp ett foto
            'Sökväg till foto1.jpg

            foto =  startmapp & "\" & strFastUser & "\foto1.jpg"
	
            'Visa foto1 om filen finns
            If (fso.FileExists(foto)) Then
                Response.write "<img src='bilder/kamera.gif'></td></tr>"
            End if
            RS.Movenext
        Loop
        RS.close

%>
</table>
<%
    Elseif Len(strFilter) > 0 then 
%>
<table width='60%'>
	<tr>
		<td><b class='rubrik'>Medlemsprofil:</b>
		</td>
		<td><b class='rubrik'>Fastlane:</b>
		</td>
	</tr>
<%


        If ValidFilter Or strFilter <> "Alla" Then
            strSQL = "SELECT tblFastlane.*, tblAuthor.Author_ID" & vbCrLf & _
                     "FROM tblFastlane LEFT JOIN tblAuthor ON tblFastlane.fastUser = tblAuthor.Username" & vbCrLf & _
                     "WHERE fastUser LIKE  '" & strFilter & "%'" & vbCrLf & _
                     "ORDER BY fastUser ASC"
        Else
            strSQL = "SELECT tblFastlane.*, tblAuthor.Author_ID" & vbCrLf & _
                     "FROM tblFastlane LEFT JOIN tblAuthor ON tblFastlane.fastUser = tblAuthor.Username" & vbCrLf & _
                     "ORDER BY fastUser ASC"
        End if

        Set RS = Conn.Execute(strSQL)

        Do Until RS.EOF
%>
        <tr><td>
	    
<%
	
            strFastUser = StripName(fldFastUser.Value,".","-")
	
            Response.write Server.HTMLEncode(strFastUser) & "</td>"
            Response.write "<td>" &  Server.HTMLEncode(fldFastModell) & "" 
	
            'Sök om medlemmen lagt upp ett foto
            'Sökväg till foto1.jpg

            foto =  startmapp & "\" & strFastUser & "\foto1.jpg"
	
            'Visa foto1 om filen finns
            If (fso.FileExists(foto)) Then
                Response.write "<img src='bilder/kamera.gif'></td></tr>"
            End if
            RS.Movenext
        Loop
        RS.close
%>
</table>
<%
    Else
%>
    <img src='bilder/fastlanefoto.gif'>
    <br>
    <br>
<%
   End if

   Set RS = nothing

   Conn.close
   Set Conn = nothing

   Set fso = Nothing
%>
<!--#include file="htmlfoot.asp" -->


Här är några av punkterna jag adresserat:
* VIKTIGT! Stäng dina recordset. Även om du öppnar dem med execute metoden.
* VIKTIGT! Kontrolera informationen klienter skickar till dig.
* VIKTIGT! Formatera information du visar på skärmen. Användaren kan annars publicera kod som förvränger eller elak kod. Till din hjälp har du Server.HTMLEncode(), Server.URLEncode().
* Optimering: Joins istället för flera recordset.
* Optimering: Skapa (FSO) objekt utanför loop
* Optimering: Använda fältvariabler.
* Optimering: Använda WHERE satsen i SQL.
* mm...


Svara

Sv:Problem med databas. SQL-fråga?

Postades av 2005-07-20 23:44:25 - Stefan Beijer

Ett jättestort tack Micke! Vet att jag har mycket att lära, särskilt att optimera koden. Jag utgår oftast bara från det jag har i huvudet och det blir ofta "ful" kod men det fungerar för det mesta.

Har rensat ut en massa onödig kod (sajten skrevs för ett år sedan och jag har bättrat mig en del sedan dess..) och kollat på hur du löst det. Felet ligger, som sagt, troligtvis i tblAuthor tabellen. Läste om Joins i en bok för några månader sedan men hittade nu inget bra exempel på nätet. Skulle vara tacksam för ett tips till någon bra sajt att lära sig mer om SQL-frågor!

Jag brukar använda Server.HTMLEncode() men måste missat det här. Fältvariabler är jag bara slarvig med... Återigen tack för alla bra tips!


Svara

Sv: Problem med databas. SQL-fråga?

Postades av 2005-07-21 00:02:31 - Andreas Hillqvist

Micke? Får inte jag ett tack? :o(


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 770
27 960
271 761
521
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies