martin_abg Geschrieben 24. August 2009 Geschrieben 24. August 2009 Hallo ich hab mal wieder ein kleines Problem mit VBScript ich hoffe ihr könnt mir helfen. Und zwar möchte ich eingaben in eine Datenbank machen, das funktioniert auch soweit aber jetzt möchte ich das mit einen array automatisieren aber meine for schleife ist irgendwie fehlerhaft. vielleicht könnt ihr da mal drüber schauen. For k = sEingabe(0) To sEingabe(3) set db3t = CreateObject("ADODB.Connection") '~ 'Datenbankverbindung vorbereiten db3t.open "a","b","c" sql = "insert into bsuser.AuthPerPerson (id, persid, authid) values ('" & sEingabe(k) & "' , '" & sEingabe(k) & "' , '" & a & "')" set rs = db3t.execute(sql) 'Ausführen der Abfrage set rs = nothing 'Löschen der Variablen db3t.close Next
Klotzkopp Geschrieben 24. August 2009 Geschrieben 24. August 2009 Ich finde es etwas merkwürdig, dass du Werte aus dem Array als Index benutzt, um auf dasselbe Array zuzugreifen. Welche Werte stehen denn in sEingabe(0) und sEingabe(3)? Wolltest du vielleicht, dass deine Schleife von 0 bis 3 läuft? Falls nicht, wäre eine etwas bessere Problembeschreibung als "irgendwie fehlerhaft" notwendig.
martin_abg Geschrieben 24. August 2009 Autor Geschrieben 24. August 2009 Ja ich wollt es von 1 bis 3 zählen lassen. In den Array stehen IDs wie zb 0012231B96800B57. Aber eigentlich will ich den Array von Start bis Ende durchlaufen lassen aber die Arraylänge ist variabel. ich weis nicht wie ich das sonst machen soll
Klotzkopp Geschrieben 24. August 2009 Geschrieben 24. August 2009 Ja ich wollt es von 1 bis 3 zählen lassen. Du lässt es aber von sEingabe(0) bis sEingabe(3) zählen. Klingelt's?
martin_abg Geschrieben 24. August 2009 Autor Geschrieben 24. August 2009 ja :upps ja das von 1 bis 3 geht jetzt ich möchter aber gerne von 1 bis zum ende des array zählen lassen das funktioniert noch net so ganz. For 0=k to sEingabe.Length - 1 das funktioniert nich hast du da ne ahnung warum?? du hast mir aber auf jedenfall schonmal geholfen davür en dickes danke
streffin Geschrieben 24. August 2009 Geschrieben 24. August 2009 For 0=k to sEingabe.Length - 1 du willst grad der 0 den wert von k zuordnen, mach das ma anders rum For k=0 to sEingabe.Length - 1
martin_abg Geschrieben 24. August 2009 Autor Geschrieben 24. August 2009 Danke für deine Hilfe aber das war nur ein schreibfehler im forum Es geht aber jetzt ich hab das jetzt so gemacht For k = 0 to UBound(sEingabe) - 1 Nochmal danke für eure Hilfe!!! Vielleicht könnt ihr mir nochmal helfen. ich möchte einen Array mit 16stelligen zufalls hexadezimalzahlen erzeugen wisst ihr wie sowas geht das wäre echt geil
streffin Geschrieben 24. August 2009 Geschrieben 24. August 2009 16 stellige Hex zahl, 16^16, wird dir denk ich a weng den zahlenbereich sprengen, wenn du das direkt umwandeln willst. aber da du die Hex zahl dann hinterher eh per string speichern wirst (nehm ich mal an), kannst das auch schrittweise zusammensetzen. Randomize() x = Round(Int(17 * Rnd())) giebt dir ne zahl zwischen 0 und 16, dann würd ich mir noch ne kleine Funktion schreiben die das in HEX ummünzt, mit ner if oder nem switch if 0 = "0" elseif 1 = "1" ..... elseif 10 = "A".... und dann einfach Stringverketten bis de 16 stellen hast. Weis jetzt nicht obs schon fertige funktionen in vbs für sowas giebt, aber so wie oben is das in 10 minuten gemacht.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden