30. marts 2005 - 11:26Der er
7 kommentarer og 1 løsning
Accept af nulværdi i søgestring
hvordan er det lige vi kan få et SQL -kald til at acceptere nulværdi i søgekriterie; altså der er en række variable parametre, men ikke alle er udfyldt, så der skal kun søges på de der er. Eks.: " WHERE (" & Tabel & " like '" & GNavn & "') or " &_ "" & Tabel1 & "= " & GNav & "or" &_ "" & Tabel2 & "like '" & GN & "')"
og der er kun disse parametre angivet: Tabel = Gruppe GNavn = MultiGroove Tabel2 = % Tabel1 = Vkt_nr Gnav = 99
Jeg vil gerne have et hurtigt svar, hvis det er muligt.
Med observability og tæt samarbejde sikrer Fibia og Novataris stabilitet og fejlfrie systemer døgnet rundt
9. december 2024
Slettet bruger
01. april 2005 - 23:03#1
Før du genererer sql linien kan du validere de forskellige varibable. F.eks. på følgende måde strSQL = "Select * FROM .....blahblah WHERE ID > 0 " if Gruppe <> "" then strSQL = strSQL&" AND Gruppe ="&Gruppe end if
Hvis du ikke forstår hvad jeg mener kan du lige sige til..så skal jeg nok lave noget ordentligt kode.
nå, der var ikke flere ideer. Tror nok du er inde på noget af det rigtige, bortset fra kontrollen er nødt til at ske FØR sql sentensen afvikles. Jeg har fundet ud af at i SQL 'en skal der kun være én Wherelinie, alt det øvrige skal ligge i en sætningsopbygning før afviklingen af SQL. Kan du ud fra det (where ("& Værdi1 & "like '" & Værdi & "')" Vise en kontrol som kan sortere fra óg opbygge værdierne til Værdi1 og Værdi med en og to af parametrene angivet?
Synes godt om
Slettet bruger
11. april 2005 - 23:21#3
Jeg er ikke helt sikker på hvad du mener, men ja der skal kun være een WHERE linie, for resten bliver det AND. Det er derfor jeg starter sætningen med WHERE ID > 0 hvor ID er din primære nøgle..på den måde kan du nøjes med at bruge AND i resten af sætningen. WHERE ID > 0 returnerer jo alle rækker og udelukker ikke noget. Kan du lige gentage dit sidste spørgsmål..jeg forstår ikke helt.
sorry, skal prøve at forklare mig: i min where sætning vil jeg ikke have mere end en betingelse på, ikke nogen 'or' eller 'and', da jeg derved får en sql-sætning som kan anvendes til alle forespørgselstyper, både med numeriske og alfa værdier, hver for sig og blandet. Derved kan jeg nøjes med en sql-sætning som den jeg angav i sprgsmålet. Nu har jeg forstået hvor du vil hen: du henter alle data og sorterer derefter i visningsresultat, hvor jeg spekulerede i at sende en specifik forespørgsel som indeholder anvisningen på hvad der skal søges efter. Jeg tror det giver bedre performance, det er ret belastende for server at ekserkvere den anden måde, synes vi at have set! Jeg gjorde selv på den anden måde først, men var ikke tilfreds med flexibiteten og performance.
Synes godt om
Slettet bruger
20. april 2005 - 16:34#5
med mit sqlsætning henter den jo ikke alle data og sorterer derefter. Serveren bruger lidt krudt på at danne sql sætning udfra nogle simple conditionals. Uden at vide det vil jeg tro at det kræver minimalt regnekraft. Jeg sidder ikke lige ved min egen computer, så jeg kan ikke teste men kan du ikke bruge LIKE %søgeparametre%. Hvis den er ingenting laver det ingen ulykker i kaldet.
kan ikke lige teste det nu, men mener at jeg tidligere havde dårlige resultater med LIKE ved numeriske værdier; der vil den have =, da det er et eksakt udtryk. SQ L-sætningen skal helst overfladisk set være den samme, men med forskellige værdier efter søgekriterier, Jeg havde tidligere, som du ser øverst, tre conditions inde i SQL; men der ville den ikke acceptere hvis en værdi var nul/null i en af conditions selvom jeg brugte OR
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.