/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
strSQL spørgsmål
Fra : Preben Jensen


Dato : 17-10-02 09:45


Hej.
Jeg har en DB hvor jeg sammeligner "word" med det der er tastet ind i en
form
og kalder så den record frem og kan redigere den.

I strSQL her under kan jeg erstatte "pw" med et hvilket som helst andet
record kolonne-navn... bare ikke med "ID", selv om "ID" også er en record i
DB-en
så får jeg en error på en gang "mitchmatch" når jeg bruger "ID" i strSQL.

Er det fordi ID er et "Fy-ord" at bruge i en strSQL ?

[strSQL der virker]
strSQL = "SELECT * from tagwall WHERE pw='" & word & "'"
[strSQL der ikke virker]
strSQL = "SELECT * from tagwall WHERE ID='" & word & "'"

Mvh. Peben J.
www.pdcs.dk



 
 
Allan Ebdrup (17-10-2002)
Kommentar
Fra : Allan Ebdrup


Dato : 17-10-02 11:20

"Preben Jensen" <preben@[remove]pdcs.dk> wrote in message
news:3dae7857$0$79653$edfadb0f@dspool01.news.tele.dk...
> [strSQL der virker]
> strSQL = "SELECT * from tagwall WHERE pw='" & word & "'"
> [strSQL der ikke virker]
> strSQL = "SELECT * from tagwall WHERE ID='" & word & "'"

Hej Preben
hvis ID er et heltal (fx autonumber) skal der ikke '-er rundt om værdien,
dvs. din anden strSQL skal være:
strSQL = "SELECT * from tagwall WHERE ID=" & word

Derudover er det ikke altid en god idé at bruge * til at vælge alle felter,
det kan skabe forvirring i det lange løb. Jeg synes det er bedre at
specificere alle de felter du vil vælge, men det er mere et spørgsmål og
personlig smag i kodestil.

MVH
Allan Ebdrup
Få dig et diskussionsforum på dit website/intranet:
http://www.aspfastforum.com/aspfastforum/



Jørn Andersen (17-10-2002)
Kommentar
Fra : Jørn Andersen


Dato : 17-10-02 12:18

On Thu, 17 Oct 2002 12:19:40 +0200, "Allan Ebdrup" <ebdrup@ti-fire.dk>
wrote:

[SELECT * FROM ...]
>Derudover er det ikke altid en god idé at bruge * til at vælge alle felter,
>det kan skabe forvirring i det lange løb. Jeg synes det er bedre at
>specificere alle de felter du vil vælge, men det er mere et spørgsmål og
>personlig smag i kodestil.

Betyder det ikke også, at der skal laves to opslag: Først hente
feltnavne, derefter værdier?
Altså også et performance-spørgsmål ud over personlig smag?

--
Jørn Andersen,
Brønshøj

Chrisser (17-10-2002)
Kommentar
Fra : Chrisser


Dato : 17-10-02 13:05

"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:gv6tqu4quboe6ob44lvbdpejrbhu9qhtmm@4ax.com...
> [SELECT * FROM ...]
> >Derudover er det ikke altid en god idé at bruge * til at vælge alle
felter,
> >det kan skabe forvirring i det lange løb. Jeg synes det er bedre at
> >specificere alle de felter du vil vælge, men det er mere et spørgsmål og
> >personlig smag i kodestil.
>
> Betyder det ikke også, at der skal laves to opslag: Først hente
> feltnavne, derefter værdier?
> Altså også et performance-spørgsmål ud over personlig smag?
>
Eks1: sql = "select * from bruger"

Eks2: sql = "select brugernavn,password from bruger"

Performance er bedst ved den sidste ( hvis man har 20 felter i tabellen og
reelt kun skal bruge de to )


Chrisser



Jørn Andersen (17-10-2002)
Kommentar
Fra : Jørn Andersen


Dato : 17-10-02 13:25

On Thu, 17 Oct 2002 14:04:55 +0200, "Chrisser" <cbj@egdatainform.dk>
wrote:

>"Jørn Andersen":
<snip>
>> Betyder det ikke også, at der skal laves to opslag: Først hente
>> feltnavne, derefter værdier?
>> Altså også et performance-spørgsmål ud over personlig smag?
>>
>Eks1: sql = "select * from bruger"
>
>Eks2: sql = "select brugernavn,password from bruger"
>
>Performance er bedst ved den sidste ( hvis man har 20 felter i tabellen og
>reelt kun skal bruge de to )

Ja, det er klart nok.
Men gælder det ikke også, hvis man skal bruge alle 20?

--
Jørn Andersen,
Brønshøj

Chrisser (17-10-2002)
Kommentar
Fra : Chrisser


Dato : 17-10-02 13:37

"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:4vatqus7ul0lkph0shhpuqk80ol07qbpto@4ax.com...
>
> Ja, det er klart nok.
> Men gælder det ikke også, hvis man skal bruge alle 20?
>

Nu er jeg ikke helt med...

Mener du at det stadig er hurtigere at angive felterne ved deres navn frem
for at bruge * hvis man skal have alle felter i en tabel ud ?
- for det ved jeg faktisk ikke, men jeg vil da tro det når databasen nu
slipper for selv at slå det op.


Chrisser



Jakob Andersen (17-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 17-10-02 14:41

"Jørn Andersen" <jorn@jorna.dk> wrote
> Ja, det er klart nok.
> Men gælder det ikke også, hvis man skal bruge alle 20?

Jeg tror ikke der er den store forskel i og med at det du vinder spilder du
igen ved den forstørrede mængde data du sender frem og tilbage, men en anden
god grund til at specificere en fieldlist er at man derfor ikke skal passe
på med at tilføje nye felter.

--
Jakob Andersen



Rune B (17-10-2002)
Kommentar
Fra : Rune B


Dato : 17-10-02 11:24

> [strSQL der virker]
> strSQL = "SELECT * from tagwall WHERE pw='" & word & "'"
> [strSQL der ikke virker]
> strSQL = "SELECT * from tagwall WHERE ID='" & word & "'"

Kunne det tæknes at ID var et tal af en slags ?
Prøv:
<%

if isnumeric(word) then
word = clng(word)
else
word = 0
end if

strSQL = "SELECT * FROM tagwall WHERE (ID=" & word & ")"
....
%>

Rune




Preben Jensen (17-10-2002)
Kommentar
Fra : Preben Jensen


Dato : 17-10-02 11:51

Løsningen er fundet
strSQL = "SELECT * from tagwall WHERE ID LIKE '" & word & "'"

Mvh. Preben J.



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste