Avatar billede icamilla Nybegynder
06. oktober 2001 - 15:34 Der er 5 kommentarer og
1 løsning

string til array

Jeg har en string som har dette formatet:

34,2,23,24... etc

verdiene representerer en rad i en tabell i databasen, altså ID.

jeg vil oppdatere et felt i alle rader som har Id fra teksstrengen.

altså oppdater rad med id = 34, oppdater rad med id = 2 etc.

kan noen gi et eksempel?
Avatar billede eagleeye Praktikant
06. oktober 2001 - 15:47 #1
her er et eks som deler en string ud i et array og så en for-sætning som updater:

strInput = \"2,4,5,7,23\"
myArr = split(strInput,\",\",-1)
for i = LBound(myArr) to UBound(myArr)
  strSQL = \"UPDATE table SET felt=xxx WHERE id=\" & myArr(i)
  connection.Execute (strSQL)
next

Du skal naturligvis rette SQL strengen til at passe med dine tabbeller og felter.

Hvis det er samme værdi du skal hvade opdateret i databasen kan man for at ungå for mange SQL kald buygge en SQL-sætning som opdater mange record på samme tid.
Avatar billede eagleeye Praktikant
06. oktober 2001 - 15:58 #2
strInput = \"2,4,5,7,23\" skal rettes til din string.

split functionen laver en streng om til et array.

Split(expression[, delimiter[, count[, compare]]])
expression : din streng
delimiter : hvor skal split dele (en karakter), typisk ,
count : antal strings man vil havde igen, -1 angiver alle
compare : 0=Binær 1=tekst sammenligning.
Avatar billede icamilla Nybegynder
06. oktober 2001 - 16:07 #3
ja det er samme felt som skal oppdateres i databasen. jeg skal sette en viss status på alle rader som har en Id som ligger i stringen.

kan du gi meg eksempel på det også?
Avatar billede eagleeye Praktikant
06. oktober 2001 - 16:21 #4
Hvis feltet som skal opdates skal hvade samme værdi kan du gøre sådan her:

strSQL = \"UPDATE tabel SET felt1=\'xx\' WHERE id IN (\" & strInput & \");\"
Connection.Execute (strSQL)


Det kræver at strInput er en streng med tal som er komma mellem eks:
strInput = \"2,3,5,56\"
eller
strInput = \"2, 3, 5, 56\"  men det har du jo også skrevet du har.
Avatar billede eagleeye Praktikant
06. oktober 2001 - 16:26 #5
Det jeg prøvede at skrive til sidst er at der må også godt være mellemrum melle komma og tal i strInput, men det er ikke nødvendigt.

strInput = \"2,3,5,56\"    \'Virker
strInput = \"2, 3, 5, 56\"    \'Virker
Avatar billede icamilla Nybegynder
06. oktober 2001 - 18:21 #6
superb eagleeye. tusen takk. :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester