vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Re: DataGridView füllen klappt nicht 
Autor: T1g0r
Datum: 24.12.08 10:54

Da das Speichern funktioniert brauche ich den Code ja nicht zu Posten. Nach dem Speichern von Form Hinzufügen rufe ich auf der Haupt-Form folgende Sub auf.
    Public Sub Aktualisieren()
 
        'DataGridViewHaupt füllen
        myData.Reset()
        vSQL = "SELECT * FROM KeyLocker"
 
        conn.ConnectionString = "Data Source=" & Application.StartupPath & "\" _
          & Application.ProductName & ".db;Version=3;"
 
        conn.Open()
 
        myCommand.Connection = conn
        myCommand.CommandText = vSQL
        myAdapter.SelectCommand = myCommand
        myAdapter.Fill(myData)
        Me.DataGridViewHaupt.DataSource = myData
        conn.Close()
 
        For x = 0 To myData.Rows.Count - 1
 
            'PW entschlüsseln
            Dim rd As New RijndaelManaged
            Dim rijndaelIvLength As Integer = 16
            Dim md5 As New MD5CryptoServiceProvider
            Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(Me.Tag)) _
              'Passwort
 
            md5.Clear()
 
            Dim encdata() As Byte = Convert.FromBase64String(myData.Rows( _
              x).Item("PasswortHash").ToString) 'Verschlüsselter Text
            Dim ms As New MemoryStream(encdata)
            Dim iv(15) As Byte
 
            ms.Read(iv, 0, rijndaelIvLength)
            rd.IV = iv
            rd.Key = key
 
            Dim cs As New CryptoStream(ms, rd.CreateDecryptor, _
              CryptoStreamMode.Read)
 
            Dim data(ms.Length - rijndaelIvLength) As Byte
            Dim i As Integer = cs.Read(data, 0, data.Length)
 
            vKlar = System.Text.Encoding.UTF8.GetString(data, 0, i) _
              'KlarTextausgabe
            cs.Close()
            rd.Clear()
 
            'Bilder bestimmen
            Dim vPoints As Integer
            Dim vChars As Integer
            vPoints = "100"
            'Kleinbuchstaben
            If System.Text.RegularExpressions.Regex.IsMatch(vKlar, _
              "[abcdefghijklmnopqrstuvwxyz]") Then
            Else
                vPoints = vPoints - 20
            End If
            'Großbuchstaben
            If System.Text.RegularExpressions.Regex.IsMatch(vKlar, _
              "[ABCDEFGHIJKLMNOPQRSTUVWXYZ]") Then
            Else
                vPoints = vPoints - 20
            End If
            'Zahlen
            If System.Text.RegularExpressions.Regex.IsMatch(vKlar, _
              "[0123456789]") Then
            Else
                vPoints = vPoints - 20
            End If
            'sonderzeichen
            If System.Text.RegularExpressions.Regex.IsMatch(vKlar, "[!§$%&/\{}(" & _
              ")°^<>|?ß´`+*~#',;.:-_]") Then
            Else
                vPoints = vPoints - 20
            End If
            'Länge
            If vKlar.Length < 10 Then
                vChars = (10 - vKlar.Length) * 5
                vPoints = vPoints - vChars
            End If
 
            If vPoints <= 20 Then Me.DataGridViewHaupt.Rows(x).Cells( _
              "Sicherheit").Value = My.Resources.SehrSchwach
            If vPoints > 21 And vPoints <= 40 Then Me.DataGridViewHaupt.Rows( _
            x).Cells("Sicherheit").Value = My.Resources.Schwach
            If vPoints > 41 And vPoints <= 60 Then Me.DataGridViewHaupt.Rows( _
            x).Cells("Sicherheit").Value = My.Resources.Mittel
            If vPoints > 61 And vPoints <= 80 Then Me.DataGridViewHaupt.Rows( _
            x).Cells("Sicherheit").Value = My.Resources.Stark
            If vPoints > 81 Then Me.DataGridViewHaupt.Rows(x).Cells( _
            "Sicherheit").Value = My.Resources.SehrStark
 
        Next
 
        'Bestimmte Columns unsichtbar machen
        DataGridViewHaupt.Columns("ID").Visible = False
        DataGridViewHaupt.Columns("Kategorie").Visible = False
        DataGridViewHaupt.Columns("PasswortHash").Visible = False
    End Sub
Je nachdem wie groß nun der Wert von vPoints ist bringt er bei der Abfrage der vPoints die Fehlermeldung:
Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die _
  Auflistung sein. Parametername: index
Und wie zuvor gepostet, wenn ich diese Abfrage weglasse kommt keine Fehlermeldung, dafür werden die Daten nicht angezeigt.
Den gleich Code habe ich bei Form_Load der Haupt-Form und da Funktioniert er.

wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passw?rten
wintoolz.Filmdatenbank - Verwaltungssoftware f?r Filme
wintoolz.CodeGallery - Programm zum speichern von Codeschnipseln

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView füllen klappt nicht1.199T1g0r24.12.08 01:26
Re: DataGridView füllen klappt nicht688Zero-G.24.12.08 10:24
Re: DataGridView füllen klappt nicht823T1g0r24.12.08 10:54
Re: DataGridView füllen klappt nicht693T1g0r24.12.08 11:06
Re: DataGridView füllen klappt nicht722Zero-G.24.12.08 11:33
Re: DataGridView füllen klappt nicht700T1g0r24.12.08 11:50

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel