|
| Dynamisk SQL streng Fra : Martin_P |
Dato : 13-08-02 09:01 |
|
Jeg sad i aftes og legede lidt med SQL og variabler - og det lykkedes
også ganske godt, MEN der er et lille problem....Først koden :
<%
dbPath = "db.mdb"
Set DB = Server.CreateObject("ADODB.Connection")
DB.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
tabel = request.querystring("side")
id = request.querystring("id")
Dim check
sql = "UPDATE " & tabel & " SET "
for each check in request.form
response.write "indtastet i " & check & " : "
sql = sql + check & "= '"
response.write request.form.item(check)
sql=sql + request.form.item(check) & "', "
response.write("<br>")
next
sql = sql & " tom='' WHERE ID = "& id
set rs = db.execute(sql)
DB.close
set rs = nothing
%>
Det virker såmænd ok - men her kommer en lille forklaring. Siden
bliver kaldt fra en form med action="update.asp?side=forside&id=1"
Men da jeg laver sql strengen dynamisk med bl.a. ,(komma) tegnet,
bliver der i sidste variable også sat denne , - det har jeg løst ved
at sætte tom='' ind som i kan se, men det betyder at jeg skal have en
kolonne i tabellen der hedder tom, samt en kolonne der hedder
INDSEND(kommer fra submit knappen) - kan man på nogen måde komme ud af
det? Jeg har overvejet noget med LEN(RIGHT), men har ikke helt kunnet
selv se mig ud af det...
Med venlig hilsen
Martin_P
| |
Peter Lykkegaard (13-08-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 13-08-02 09:28 |
|
"Martin_P" <mp@XXXalkaline-batteries.dk> wrote in message
news:nmehluc9s0eb3vq163pb6lqo1r27ilno80@4ax.com...
> Men da jeg laver sql strengen dynamisk med bl.a. ,(komma) tegnet,
> bliver der i sidste variable også sat denne ,
Du kan bruge Left(sql, Len(sql)-1) for at blive fri for det overflødige
komma
En anden mulighed at lave en alm for løkke med en tæller, hvor du ikke
sætter kommaet i det sidste gennemløb
mvh/Peter Lykkegaard
| |
Martin_P (13-08-2002)
| Kommentar Fra : Martin_P |
Dato : 13-08-02 09:44 |
|
On Tue, 13 Aug 2002 10:27:55 +0200, "Peter Lykkegaard"
<polonline@hotmail.com> wrote:
>
>"Martin_P" <mp@XXXalkaline-batteries.dk> wrote in message
>news:nmehluc9s0eb3vq163pb6lqo1r27ilno80@4ax.com...
>
>> Men da jeg laver sql strengen dynamisk med bl.a. ,(komma) tegnet,
>> bliver der i sidste variable også sat denne ,
>
>Du kan bruge Left(sql, Len(sql)-1) for at blive fri for det overflødige
>komma
Mange tak! Det vil jeg straks prøve!! Så er det vel bare et spørgsmål
om at skrive -1 op til et eller andet(som jeg lige skal tælle frem
til) for at få indsend væk også?
>En anden mulighed at lave en alm for løkke med en tæller, hvor du ikke
>sætter kommaet i det sidste gennemløb
naaah - meningen er at sætningen kan bruges på alle forms, sålænge man
sender det rigtige querystring-parametre med...
Martin_P
| |
Peter Lykkegaard (13-08-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 13-08-02 21:50 |
|
"Martin_P" <mp@XXXalkaline-batteries.dk> wrote in message
news:jihhlu01mknena3cc8pj5lafp6cl75u23n@4ax.com...
> On Tue, 13 Aug 2002 10:27:55 +0200, "Peter Lykkegaard"
> <polonline@hotmail.com> wrote:
>
> >En anden mulighed at lave en alm for løkke med en tæller, hvor du ikke
> >sætter kommaet i det sidste gennemløb
> naaah - meningen er at sætningen kan bruges på alle forms, sålænge man
> sender det rigtige querystring-parametre med...
>
Du har en Count property du kan bruge ved gennemløbet - svjv
mvh/Peter Lykkegaard
| |
Martin_P (14-08-2002)
| Kommentar Fra : Martin_P |
Dato : 14-08-02 07:37 |
|
>>
>Du har en Count property du kan bruge ved gennemløbet - svjv
>
>mvh/Peter Lykkegaard
>
Jeg fik det til at virke med din left sætning - mange tak!!!
MArtin_P
| |
|
|