/ 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
Insert into - Access
Fra : Kim B. Lykkegaard


Dato : 03-02-02 14:53

Hej, jeg er helt grøn i asp programmering, og er stødt på et lille problem.

Jeg vil lave en formular som opdatere en Access base.

den streng jeg skal bruge er f.eks:
strSQL = "Insert into t_data (Startdato,priskode) values ('18-07/02','2')"

Denne streng kan jeg få uploaded i basen, og det virker fint, men det som er
mit spørgsmål, hvordan opbygger jeg den samme streng, når de 2 "values"
kommer fra en formular?

I disse felter er oplysningerne:
Request.Form("Startdato")
Request.Form("priskode")

Og jeg har prøvet med f.eks. denne streng som ikke dur.

strSQL = "Insert into t_data ("Startdato,priskode") values("' &
Request.Form("Startdato") & '", "' & Request.Form("priskode")& '")"

Det er sikkert nemt hvis man lige ved det!

Spørgsmål 2:
hvis en af "value" felterne oven for havde været data til et "yes/no" felt i
en tabel hvad skal man så uploade.
Jeg har prøvet med et "no" men det vil den ikke tage i mod.
Det der undre mig er også at man i en Access query kan sortere/søge på
"yes/no" felter ved at skrive yes eller no som kriterie, men man kan ikke
skrive yes/no direkte i en Access tabel, der skal man tikke af, for yes
eller no. (jeg bruger Access 2002)

Hilsen Kim




 
 
Jørn Andersen (03-02-2002)
Kommentar
Fra : Jørn Andersen


Dato : 03-02-02 15:22

On Sun, 3 Feb 2002 14:52:43 +0100, "Kim B. Lykkegaard"
<kim.lykkegaard@kramsen.dk> wrote:

>strSQL = "Insert into t_data (Startdato,priskode) values ('18-07/02','2')"
<snip>

>Og jeg har prøvet med f.eks. denne streng som ikke dur.
>
>strSQL = "Insert into t_data ("Startdato,priskode") values("' &
>Request.Form("Startdato") & '", "' & Request.Form("priskode")& '")"

Den mest oplagte årsag er, at du har enkelt-anførselstegn på den
forkerte side af dobbelt-anførselstegn. Byt de to, da " afbryder
tekststrengen, og ' er en del af tekststrengen.
Desuden skal du heller ikke have anførselstegn om feltnavne - hvis du
skal have noget omkring, skal det være firkant-paranteser [ ].

Dernæst: Hvis du prøver at skifte de to ud én ad gangen, vil du
sikkert finde ud af, at det er datoen, det går galt med - den kan være
lidt triggy.

Jeg plejer at bruge en funktion, som Lauritz Jensen engang postede:

' -- DateToSql start --
Function DateToSql(Value)
DateToSql = "DateSerial(" & Year(Value) & ", " & _
Month(Value) & ", " & _
Day(Value) & ") + " & _
"TimeSerial(" & Hour(Value) & ", " & _
Minute(Value) & ", " & _
Second(Value) & ")"
End Function
' -- DateToSql slut --

- eller se på Google:
<URL:
http://groups.google.com/groups?hl=da&selm=1879jt0nj8ng3066tpe91bs1frm82c7u2p%404ax.com>

Desuden:
Det er sjældent en god idé at putte Request.* direkte ind i SQL'en.
Hvis fx datoen ikke er en gyldig dato, så vil det være en fordel at få
stoppet afviklingen og få det rettet i stedet for at køre databasekald
osv.
Fx noget i retning af:

datStartDato = Request.Form("Startdato")
If IsDate(datStartDato) Then
datStartDato = CDate(datStartDato)
Else
' Der er en fejl - Kør en fejlrutine
End If

- og ditto med priskode:
strPriskode = Request.Form("priskode")

Hvis det går godt, kan du så køre Lauritz's funktion således:
strSQL = "Insert into t_data (Startdato, priskode) values(" &
DateToSql(datStartDato) & ", '" & strPriskode & "');"

>Det er sikkert nemt hvis man lige ved det!
>
>Spørgsmål 2:
>hvis en af "value" felterne oven for havde været data til et "yes/no" felt i
>en tabel hvad skal man så uploade.

Du kan bruge True/False eller -1/0 (uden anførselstegn) - og hvis du
vil være sikker på, at den har en boolsk (logisk) værdi, så kan du
bruge CBool(value)

Good luck,
Jørn


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

Månedens bedste
Årets bedste
Sidste års bedste