23. november 2011 - 09:58Der er
1 kommentar og 1 løsning
Problem med Arraylist
Hej
Her er først del af et sub der skal checke om feltet ID i tabellen ToDo indholder tallene 1,2 ...15 og hvis ikke skal tallet indsættes. Af en eller anden grund medtages ALDRIG det første felt (tallet 1). Da jeg så fjernede "primær Key" fra feltet i ToDo kom der efterfølgende 2 felter med tallet 1 men herefter fungerer programmeringen :-O
Dim Connection As New SqlConnection(Conn) Connection.Open() Dim IDListe As New ArrayList
Try Dim CMD As New SqlCommand("SELECT ID FROM ToDo", Connection) Dim reader As SqlDataReader = CMD.ExecuteReader() Dim ID As Int32 If reader.Read Then While reader.Read 'Liste der indeholder alle ID'er i databasen ToDo ID = reader.GetInt32(0) MessageBox.Show(ID) IDListe.Add(ID) End While reader.Close() Dim X As Integer For X = 1 To 15 If IDListe.Contains(X) = False Then
CMD = New SqlCommand("INSERT INTO ToDo (ID) VALUES (@ID)", Connection) With CMD .Parameters.Add("@ID", SqlDbType.Int) .Parameters("@ID").Value = X .ExecuteNonQuery() End With End If Next
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg forstår IKKE hvorfor men denne ændring har løst problemet (næppe elegant):
Dim Connection As New SqlConnection(Conn) Connection.Open() Dim IDListe As New ArrayList
Try Dim CMD As New SqlCommand("SELECT ID FROM ToDo", Connection) Dim reader As SqlDataReader = CMD.ExecuteReader() If reader.Read Then IDListe.Add(reader.GetInt32(0)) While reader.Read 'Liste der indeholder alle ID'er i databasen ToDo Dim y As Integer = 0 IDListe.Add(reader.GetInt32(0)) y = y + 1 End While reader.Close() Dim X As Integer For X = 1 To 15 If IDListe.Contains(X) = False Then
CMD = New SqlCommand("INSERT INTO ToDo (ID) VALUES (@ID)", Connection) With CMD .Parameters.Add("@ID", SqlDbType.Int) .Parameters("@ID").Value = X .ExecuteNonQuery() End With End If Next
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.