Avatar billede icamilla Nybegynder
08. november 2001 - 09:45 Der er 4 kommentarer og
2 løsninger

Kommaseparert string

jeg har en kommaseparert string

string = \"ette,wert,et\"

dette vil jeg legge inn i databasen i en rad for hver del

rad1:ette
rad2:wert
rad3:et

etc...

stringen kan være hvor lang som helst.  hvordan gjør jeg dette?
Avatar billede eagleeye Praktikant
08. november 2001 - 09:55 #1
string = \"ette,wert,et\"

myArr = split(string,\",\",-1)
for i = LBound(myArr) to UBound(myArr)
  strSQL = \"INSERT INTO table (kolonneNavn) VALUES (\'\"& myArr(i) &\"\')\"
  connection.Execute (strSQL)
next
Avatar billede juggalo Nybegynder
08. november 2001 - 09:56 #2
først splittes din string, ved kommaerne, til en array;

myarray=split(streng,\",\")

dernæst;

<%
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\")

for i=0 to ubound(myarray)
Conn.Execute(\"INSERT INTO tabel (feltnavn) VALUES (\'\" & myarray(i) & \"\'\")
next
Avatar billede fuldstop Nybegynder
08. november 2001 - 09:56 #3
smider lige et svar.
ref.: http://www.eksperten.dk/spm/118912
Avatar billede cht Nybegynder
08. november 2001 - 12:05 #4

Det kan da gøres en lille smule nemere:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\")

For each item in split(streng, \",\")
Conn.Execute(\"INSERT INTO tabel (feltnavn) VALUES (\'\" & item & \"\'\")
Next

Avatar billede eagleeye Praktikant
08. november 2001 - 12:30 #5
Det er da ikke nemere det er præsis det samme.... og du har endda en fejl i SQL\'en.

Det bliver ikke letter bare fordi der er færer linier. Dit eks viser jo kun at det bliver svære at overskue med få linier.
Avatar billede cht Nybegynder
08. november 2001 - 17:54 #6
Jeg synes det bliver mere der er mere overskueligt, når man gør det så enkelt, som muligt. Nu er der jo ikke så meget kode, så jeg vil da gerne give dig ret i at det i dette tilfælde bliver præsis det samme.

Du har også ret i at der er en fejl i SQL\'en, nemlig at der mangler en parantes, det skulle selvfølgelig være:
Conn.Execute(\"INSERT INTO tabel (feltnavn) VALUES (\'\" & item & \"\')\")
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