/ 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
nummeriske variabler i SQL udtryk
Fra : Hans Christian Bayer


Dato : 16-02-03 20:05

Er der nogen der kan hjælpe mig med syntaksen ved indsættelse af
ikke-tekststreng variabler i en SQL sætning f.eks. INSERT:

Et felt i en db tabel hedder registrationdate og er et datofelt

variablen datRegDate indeholder den datoværdi, der skal indsættes
i tabellen. Hvordan får jeg skrevet min SQl sætning, så den
indsætter værdien i variablen?

Hvis jeg gør sådan:

strSQL = "Insert into XXX (identifikation, dato) values (' "Id"
', ' "datRegDate" ' )"
får jeg (naturlugvis) en type mismatch fejl vedrørende dato
feltet, fordi sætningen prøver at indsætte strengen datRegDate i
et datofelt;

Hvis jeg prøver dette:
strSQL = "Insert into XXX (identifikation, dato) values (' "Id"
', datRegDate )"
får jeg en syntax error, fordi den stadig ikke indsætter værdien
af variablen.

Så hvordan får jeg indsat værdien af variablen?



--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

 
 
Jens Gyldenkærne Cla~ (16-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-02-03 22:40

Hans Christian Bayer skrev:

> Er der nogen der kan hjælpe mig med syntaksen ved indsættelse af
> ikke-tekststreng variabler i en SQL sætning f.eks. INSERT:

> strSQL = "Insert into XXX (identifikation, dato) values (' "Id"
> ', ' "datRegDate" ' )"

Ovenstående giver (bl.a.) fejl fordi Id står direkte efter
afslutningen af en streng.

Du skal benytte "&" til at sætte strenge og variabler sammen:

strSQL = "INSERT INTO xxx (felt1, felt2) VALUES ('" & varfelt1 &
"', '" & varfelt2 & "')"

Datoer er specielt drilske. For det første kan der være forskel på
hvordan forskellige databaser forventer en dato angivet. Og for det
andet kan der også være forskel på hvordan den samme database
opfatter datoer - afhængig af indstillingerne på serveren.

En sikker måde er at benytte en datofunktion i databasen - dvs. at
man specificerer præcis hvordan den indtastede dato skal læses,
eller evt. leverer dag, måned og år separat. Bruger man Access kan
det sidste opnås med funktionen DateSerial - fx således:

strSQL = "INSERT INTO xxx (datofelt) VALUES (DateSerial(" & _
       varAar & ", " & varMaaned & ", " & varDag & "))"
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Archie Mósses (16-02-2003)
Kommentar
Fra : Archie Mósses


Dato : 16-02-03 22:44


> strSQL = "Insert into XXX (identifikation, dato) values (' "Id"
> ', ' "datRegDate" ' )"

> Så hvordan får jeg indsat værdien af variablen?

datRegDate må vel være en streng ikke...

dvs. at den burde hedde strdatRegDate og skal indsættes sådan:

strSQL = "Insert into XXX (identifikation, dato) values (' "Id"
', ' " & strdatRegDate & " ' )"

Hvi ikke den hedder str foran, skal den vel stadig indsættes med OG
tegn:

strSQL = "Insert into XXX (identifikation, dato) values (' "Id"
', ' " & datRegDate & " ' )"

Håber det virker :)


--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste