17. juli 2000 - 17:05Der er
23 kommentarer og 1 løsning
39 checkbokse
Jeg har 39 checkbokse som skal lægges ned i en database. Der skal bruges en "update funktion". Findes der en let måde at ligger så mange felter ned på. Den må kun lægge dem ind hvor ID = session("ID").
jeg vil ikke foreslå at du benytter ovenstående metode idet alt udtræk af data fra databasen herefter skal gøres manuelt, dvs efterfølgende opslag med join bliver ret meget tunge at arbejde med, f.eks. laver join med andre tabeller på delmængder af de valg der er foretaget i en af dine 39 checkbokse. (man må jo gå ud fra at data skal anvendes til et eller andet fornuftigt i relation til andre tabeller ;=) Hvis det sidste ikke er tilfældet - tja så kan du gøre det.
I stedet for ovenstående ville jeg lave en mapning af data internt i dit program (Et array) til din tabel (databasen).
Herefter laver du en funtion der tager dit VB array og generer SQL koden, noget a la:
Sub UpdateMultiCheckBox( ByRef Conn, intID, ByRef Ary ) DIM strSQL DIM intBoxID
intBoxID=0 For Each Box IN Ary strSQL = strSQL &"UPDATE tblTABEL SET Box=" &Value strSQL = strSQL &" WHERE CheckBoxID=" &intBoxID &" AND ID=" intID intBoxID=intBoxID+1 Next Conn.Execute(strSQL) End Sub
Sub UpdateMultiCheckBox( ByRef Conn, intID, ByRef Ary ) ' Array must contain 0 | 1 DIM strSQL DIM intBoxID
intBoxID=0 For Each BoxValue IN Ary strSQL = strSQL &"UPDATE tblTABEL SET Box=" &BoxValue strSQL = strSQL &" WHERE CheckBoxID=" &intBoxID &" AND ID=" intID intBoxID=intBoxID+1 Next Conn.Execute(strSQL) End Sub
Tror ikke lige Flemmings eksempel holder!! Den kommer højst sandsynligt med en fejl-meddelelse, hvis der er mere end én box!! Så nok hellere: et par smårettelse ;=)
Sub UpdateMultiCheckBox( ByRef Conn, intID, ByRef Ary ) ' Array must contain 0 | 1 DIM strSQL DIM intBoxID
intBoxID=0 For Each BoxValue IN Ary strSQL = "UPDATE tblTABEL SET Box=" & BoxValue strSQL = strSQL & " WHERE CheckBoxID=" & intBoxID & " AND ID=" & intID Conn.Execute(strSQL) intBoxID=intBoxID+1 Next End Sub
Så må du vente et par dage og få flere point på den måde, eller prøve at oprette et spm. til 0 points og se om der ikke er en venlig sjæl der vil hjælpe!
Bare rolig, v, der sker intet ved at være på min sorte liste. Der skal nok være masser andre der vil hjælpe dig. Jeg gider bare ikke hjælpe en, der ikke gider sætte sig ind i reglerne og ikke gider overholde dem. Det er efter min erfaring her på stedet rent tidsspilde.
Ja, jeg ved det godt, men du ved hvordan der er, man krydser bare de felter der skal til for at blive færdig hurtigt. Det har sgu aldrig været min mening at udnytte nogen som gerne ville hjælpe.
Vatoz>>>> Der er faktisk nogen der prøver at tage dette sted seriøst!!!!
Se fx. Erik som har besvaret 403 spørgsmål herinde, næsten alle sammen om programmering, og i mange af dem har han leveret mere eller mindre komplette sourcecodes!!!
Tænk på hvormange timer han alt ialt har brugt på at hjælpe folk herinde, er det så ikke at skide på dem der gider hjælpe når man bryder en af de få men MEGET SIMPLE regler som der er herinde????
Spacey: Jeg gir dig fuldstændig ret. Jeg havde bare ikke orienteret mig disse simple regler, som jeg udemærket forstår. Det er min fejl. Dog ville du kunne se at jeg på ingen måde udnyttede det, jeg ønskede blot ydeligere oplysninger i et spørgsmål. Hvis jeg havde været ude på at udnytte nogen ville jeg have oprettet ligegyldige spørgsmål og selv svaret på dem og på den måde få point. Jeg gjorde det fordi jeg utrolig gerne vil have mit projekt til at fungere.
Så så, spacey. Tag det nu lige lidt roligt..... Slap af .... Hold sommerferie ..... Min "sorte liste" er såmænd bare min måde at fordele min tid lidt fornuftigt. Og jeg glemmer også sommetider at kigge på den.... hehe... (PS: Mit ICQ-program døde og jeg har ikke fået det slået ihjel og genstartet. Derfor)
I bestemmer selv om I vil putter mig på jeres sorteliste, men jeg håber I kan bærer over med mig hvis jeg får brug for hjælp ( og det gør jeg, da jeg stadig er begynder i ASP)
Synes godt om
Ny brugerNybegynder
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.