[asp] variable in een string naam

Pagina: 1
Acties:

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Sorry als ik het niet helemaal goed heb omschreven in de titel maar ik weet niet hoe ik het goed omschrijven moet.

Ik heb een klein probleem in asp met VBScript het gaat om z'n soort probleem:

<%
for myCounter = 1 to 4
if strNaam_myCounter = "" then ...
next
%>

ik heb 4 strings met de namen : strNaam_1 , strNaam_2, strNaam_3 strNaam_4
nu wil ik die strings dus checken doormiddel van een loop maar nu kijkt VBScript gelijk naar de naam strNaam_myCounter.

Is dit op te lossen ?? En hoe heet dit ??

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Wat jij nodig hebt, is een array. Ga daar maar eens naar kijken.

https://fgheysels.github.io/


  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Een array is niet een oplossing.

Dit is een simpel voorbeeld ik wil het ook gaan gebruiken voor Sql query's e.d

Verwijderd

Kan niet dan, je zult een araay moeten gebruiken

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Ik denk dat je eens een goed ASP boek nodig hebt.

Je plakt trouwens gewoon myCounter aan uw variable-naam ipv de inhoud ervan. Kijk eens naar de concatenatie operatoren. ( + en & )

https://fgheysels.github.io/


  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Ik weet dat het voorbeeld niet goed is het gaat maar om het idee.

het Gaat niet om de inhoudt van de string dus daarom is een array geen optie

wat ik wil doen is :

Een sql query dynamisch aanmaken

en het voorbeeld dat ik net gaf leek er wel op erg versimpelt.

Verwijderd

Wat wil je dan maken, nu snap ik het helemaal niet meer :?
Klein stukje code, met een beter voorbeeld misschien....

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

Je hebt 4 variabelen strnaam1 tot en mert strnaam 4 en je zegt dat je hier geen array voor kan gebruiken (dus strnaam(1) tot en met strnaam(4)).
Dat mag je mij (en waarschijnlijk nog wel meer) duidelijk maken.

code:
1
2
3
4
5
<%
for myCounter = 1 to 4 
if strNaam(myCounter) = "" then ...
next
%>

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Een ander stukje code


<code>
<%
for myCounter = 1 to 6

strSQL_query = " insert into week (...~...) values ("&Chr(34)&strNaam&"_"&myCounter&Chr(34)&")
objConn.Execute(strSQL_query)
next
%>

Nu gaat het er om dat ik dus niet 6x die sql query er neer hoef te zetten maar dynamisch aanmaak.

ik hoop dat het zo duidelijker is

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Ybox schreef op 24 september 2002 @ 09:30:
Een ander stukje code


<code>
<%
for myCounter = 1 to 6

strSQL_query = " insert into week (...~...) values ("&Chr(34)&strNaam&"_"&myCounter&Chr(34)&")
objConn.Execute(strSQL_query)
next
%>
</code>

Nu gaat het er om dat ik dus niet 6x die sql query er neer hoef te zetten maar dynamisch aanmaak.

ik hoop dat het zo duidelijker is

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Ybox schreef op 24 september 2002 @ 09:30:
Een ander stukje code


<code>
<%
for myCounter = 1 to 6

strSQL_query = " insert into week (...~...) values ("&Chr(34)&strNaam&"_"&myCounter&Chr(34)&")
objConn.Execute(strSQL_query)
next
%>

Nu gaat het er om dat ik dus niet 6x die sql query er neer hoef te zetten maar dynamisch aanmaak.

ik hoop dat het zo duidelijker is


Een array dus.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char dagen[] = { "maandag", 
                            "dinsdag", 
                            "woensdag", 
                            "donderdag",
                            "vrijdag",
                            "zaterdag",
                            "zondag"
                         }

for (int i = 0; i < 7; i++)
{
  SQLStr = "INSERT INTO week ( bla ) VALUES ( " + QuotedStr(dagen[i]) + ")";
  ExecSQL();
}

https://fgheysels.github.io/


Verwijderd

Iets netter :)

ASP:
1
2
3
4
5
6
<%
For myCounter = 1 to 6
      strSQL_query = " insert into week (...~...) values (" & Chr(34) & strNaam & "_" & myCounter & Chr(34) & ")
      objConn.Execute(strSQL_query)
Next
%>

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Verwijderd schreef op 24 september 2002 @ 09:35:
Iets netter :)

ASP:
1
2
3
4
5
6
<%
For myCounter = 1 to 6
      strSQL_query = " insert into week (...~...) values (" & Chr(34) & strNaam & "_" & myCounter & Chr(34) & ")
      objConn.Execute(strSQL_query)
Next
%>
ja dat probeerde ik al :)

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char dagen[] = { "maandag", 
                            "dinsdag", 
                            "woensdag", 
                            "donderdag",
                            "vrijdag",
                            "zaterdag",
                            "zondag"
                         }

for (int i = 0; i < 7; i++)
{
  SQLStr = "INSERT INTO week ( bla ) VALUES ( " + QuotedStr(dagen[i]) + ")";
  ExecSQL();
}


Werkt dat ook onder VBscript ? dit is toch javascript ?

Verwijderd

Dat is de javascript, maar dat ken ook in ASP

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Ybox schreef op 24 september 2002 @ 09:42:


Werkt dat ook onder VBscript ? dit is toch javascript ?


Dit is gewoon pseudo-code, om je een idee te geven van hoe het moet. Het is trouwens niet de bedoeling dat er op GoT voor alles kant en klare code gepost wordt.

https://fgheysels.github.io/


  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Dit is gewoon pseudo-code, om je een idee te geven van hoe het moet. Het is trouwens niet de bedoeling dat er op GoT voor alles kant en klare code gepost wordt.[/quote]

Dat is begrijpelijk.

De oplossing is nog niet helemaal wat ik bedoel.

ik post zo nog wel een code waarin ik het hopelijk beter kan uitleggen.

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
ASP:
1
sql_query = "insert into week (bla) values ("strNaam_&myY")"


nu wil ik dus dat de query er zo uit komt te zien Voordat ik hem execute :

sql_query = "insert into weel(bla) values("strNaam_1")"

is dit mogelijk ? nu wil ik het lieft geen array gebruiken omdat ik dan met de gegevens blijf heen en weren.
Ik hoop dat het zo weer een stukje duidelijker is.

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Ybox schreef op 24 september 2002 @ 10:21:
ASP:
1
sql_query = "insert into week (bla) values ("strNaam_&myY")"


nu wil ik dus dat de query er zo uit komt te zien Voordat ik hem execute :

sql_query = "insert into weel(bla) values("strNaam_1")"

is dit mogelijk ? nu wil ik het lieft geen array gebruiken omdat ik dan met de gegevens blijf heen en weren.
Ik hoop dat het zo weer een stukje duidelijker is.


waarom wil jij geen array gebruiken? Een array is hier voor gemaakt voor zo'n dingen. Zoals jij het wilt doen is op z'n zachtst gezegd ranzig.

https://fgheysels.github.io/


  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
waarom wil jij geen array gebruiken? Een array is hier voor gemaakt voor zo'n dingen. Zoals jij het wilt doen is op z'n zachtst gezegd ranzig.
wat is ranziger even om de gegevens te chekken alles in arrays zetten of dit ?

als er absolut geen andere oplossing voor is dan doe ik het wel met array's :)

  • ErectionJackson
  • Registratie: April 2000
  • Laatst online: 23-06-2017

ErectionJackson

Ff testen hoe lang een onderti

Ybox schreef op 24 september 2002 @ 10:21:
ASP:
1
sql_query = "insert into week (bla) values ("strNaam_&myY")"


nu wil ik dus dat de query er zo uit komt te zien Voordat ik hem execute :

sql_query = "insert into weel(bla) values("strNaam_1")"

is dit mogelijk ? nu wil ik het lieft geen array gebruiken omdat ik dan met de gegevens blijf heen en weren.
Ik hoop dat het zo weer een stukje duidelijker is.


Snap je wel wat het doel is van een array? Als je namelijk een array gebruikt, hoef je maar weinig te veranderen qua syntax, het is makkelijk in gebruik en het belangrijkst... HET WERKT :7

sql_query = "insert into weel(bla) values('" + strNaam(1) + "')" :*)

Microsoft SharePoint oplossingen | www.onlinesamenwerken.nl | Persian Dance Helia


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
[nohtml]
Ybox schreef op 24 september 2002 @ 10:27:
[...]


wat is ranziger even om de gegevens te chekken alles in arrays zetten of dit ?
Jouw manier dus. Minder leesbaar, minder onderhoudbaar, ...

Maar goed, als jij niet openstaat voor verandering en niet naar een andere/betere manier wilt kijken of wilt bijleren, dan is dat jouw probleem.

https://fgheysels.github.io/


  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Nou dat wordt dus een array bouwen :)

Er zit niets anders op dan dat als er geen andere oplossing is 8)7

Nog bedankt :)

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 27-08 16:14
Jouw manier dus. Minder leesbaar, minder onderhoudbaar, ...

Maar goed, als jij niet openstaat voor verandering en niet naar een andere/betere manier wilt kijken of wilt bijleren, dan is dat jouw probleem.
Nee nee, ik sta wel open ik wil alleen zeker weten dat er geen andere oplossing is, want ik moet nu nogal veel veranderen.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 13:54

Crazy D

I think we should take a look.

Je zou eventueel naar een Collection kunnen kijken (naja Dictionary heet dat binnen asp). Simpel gezegt is dat een uitgebreide array waarbij je bij een array de items alleen via een index(getal) kunt benaderen, in een dictionary kun je de items ook een naam (key) geven.
code:
1
2
3
4
5
6
7
Dim col
Set col = Server.CreateObject("Scripting.Dictionary")
Call col.AddItem("key1", "waarde1")

Response.Write col("key1")

Set col = Nothing

Maar als het om dezelfde gegevens gaat (een lijst met namen bv) zou ik kiezen voor een array, dat is imho logischer. Maar goed, een dictionary zou een idee kunnen zijn :)

Exact expert nodig?


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

NEE jouw oplossing is dus niet mogelijk.
Je moet een Array gebruiken.
Pagina: 1