07. september 2009 - 13:25Der er
9 kommentarer og 1 løsning
Udtrække data
Hej Visual Basic .Net
Jeg forsøger vha nedenstående kode at trække alle "[Operations dato] og [Operation type]" udfra "Cpr" og efterfølgende tildele hvert resultat en variabel:
PDato1 for første [Operations dato], P1 for [Operation type] sv. til den dato PDato2 for den følgende [Operations dato], P2 for [Operation type] sv. til den dato osv osv
Dim Connection As New SqlConnection(Conn) Connection.Open() Dim Command As New SqlCommand("SELECT [Operations dato], [Operation type] FROM Kartotek WHERE [Cpr nr] Like '" & Cpr & "%'", Connection) Command.ExecuteNonQuery()
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.
Dim listdato As List(Of DateTime) = New List(Of DateTime) Dim listtype As List(Of Integer) = New List(Of Integer) Dim rdr As SqlDataReader = cmd.ExecuteReader While rdr.Read listdato.Add(CType(rdr(0),DateTime)) listtype.Add(CType(rdr(1),Integer)) End While rdr.Close
Jeg har fået det til at virke ved følgende lidt omstændige metode. Hvis der er forslag til at gøre det lettere/hurtigere/bedre er jeg MEGET lydhør:
Dim Connection As New SqlConnection(Conn) Connection.Open() Dim Command As New SqlCommand("SELECT [Operations dato], [Operation type] FROM Kartotek WHERE [Cpr nr] Like '" & Cpr & "%'", Connection)
Dim PDato1, P1, PDato2, P2, PDato3, P3, PDato4, P4, PDato5, P5, PDato6, P6, PDato7, P7, PDato8, P8, PDato9, P9, PDato10, P10 As String Dim X As Long X = 0 Dim listdato As List(Of DateTime) = New List(Of DateTime) Dim listtype As List(Of String) = New List(Of String) Dim reader As SqlDataReader = Command.ExecuteReader While reader.Read X = X + 1 If X = 1 Then If Not reader.IsDBNull(0) Then PDato1 = reader(0) Else PDato1 = "" End If If Not reader.IsDBNull(1) Then P1 = reader(1) Else P1 = "" End If ElseIf X = 2 Then If Not reader.IsDBNull(0) Then PDato2 = reader(0) Else PDato2 = "" End If If Not reader.IsDBNull(1) Then P2 = reader(1) Else P2 = "" End If ElseIf X = 3 Then If Not reader.IsDBNull(0) Then PDato3 = reader(0) Else PDato3 = "" End If If Not reader.IsDBNull(1) Then P3 = reader(1) Else P3 = "" End If ElseIf X = 4 Then If Not reader.IsDBNull(0) Then PDato4 = reader(0) Else PDato4 = "" End If If Not reader.IsDBNull(1) Then P4 = reader(1) Else P4 = "" End If ElseIf X = 5 Then If Not reader.IsDBNull(0) Then PDato5 = reader(0) Else PDato5 = "" End If If Not reader.IsDBNull(1) Then P5 = reader(1) Else P5 = "" End If ElseIf X = 6 Then If Not reader.IsDBNull(0) Then PDato6 = reader(0) Else PDato6 = "" End If If Not reader.IsDBNull(1) Then P6 = reader(1) Else P6 = "" End If ElseIf X = 7 Then If Not reader.IsDBNull(0) Then PDato7 = reader(0) Else PDato7 = "" End If If Not reader.IsDBNull(1) Then P7 = reader(1) Else P7 = "" End If ElseIf X = 8 Then If Not reader.IsDBNull(0) Then PDato8 = reader(0) Else PDato8 = "" End If If Not reader.IsDBNull(1) Then P8 = reader(1) Else P8 = "" End If ElseIf X = 9 Then If Not reader.IsDBNull(0) Then PDato9 = reader(0) Else PDato9 = "" End If If Not reader.IsDBNull(1) Then P9 = reader(1) Else P9 = "" End If ElseIf X = 10 Then If Not reader.IsDBNull(0) Then PDato10 = reader(0) Else PDato10 = "" End If If Not reader.IsDBNull(1) Then P10 = reader(1) Else P10 = "" End If End If End While reader.Close()
Du kunne droppe while løkken og kalde reader.Read i 10 if sætninger.
Men jeg mener stadig at konceptet med 10 variable med et tal suffix er forkert - du bør bruge array eller List og så indexere ind i det når du skal bruge værdierne.
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.