2016-06-07 22 views
0

So eine Validierung zu machen Ich versuche, wo zum BeispielÄndern des Namens eines Knopfes

, wenn der Benutzer Drop in eine Schaltfläche eine Datei und es existiert bereits in der Datenbank wird es zeigt eine Meldung ("This Datei existiert bereits ") und sollte den Namen der Schaltfläche aus dem Namen der Datei in den tatsächlichen Namen umbenennen.

Dies ist die Methode, die ich im Moment anrufe, wenn ich eine Datei in eine Schaltfläche ablege und sie ändert und anzeigt, was ich will.

Private Sub UpdateControls() 
     SQLCon = New SqlConnection 
     SQLCon.ConnectionString = "........." 

     Dim query As String 
     query = "SELECT Filename 
       FROM infofile 
       WHERE [email protected]" 

     If cmdEntrar.Text = query Then 
      cmdEntrar.Text = "Open file" 
     Else 
      cmdEntrar.Text = MeuFicheiro.Name 
      cmdEntrar.Width = GetButtonSize(MeuFicheiro.Name) 

      lblArraste.Left = cmdEntrar.Left + cmdEntrar.Width + 15 
     End If 
    End Sub 

Weil ich ein Public Sub, wo ich es AddFile genannt habe und da ich ein paar Dinge aus einer Datei (Name, Erweiterung, usw.) in meiner Datenbank hinzufügen. Wenn ich jedoch eine Datei hinzufüge, die bereits existiert, löscht sie alle Etiketten aus dem Layout und ändert den Namen der Schaltfläche in das Original. Aber dieser Teil funktioniert nicht.

Dies wird das Stück Code, wo die Validierung

gemacht
Public Sub AddFile(Filename As String, Filetype As String, Filesize As String, Created As Date, Modified As Date, Access As Date, PcName As String) 
    SQLCon = New SqlConnection 
    SQLCon.ConnectionString = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\MIGG-PC\Documents\Visual Studio 2015\Projects\TrashCollection\TrashCollection\TrashDB.mdf;Integrated Security=True;Connect Timeout=30" 
    Try 
     Dim strInsert As String = "INSERT INTO INFOFILE (Filename,Filetype,Filesize,Created,Modified,Access,PcName) " & 
            "VALUES (" & 
            "'" & Filename & "'," & 
            "'" & Filetype & "'," & 
            "'" & Filesize & "'," & 
            "'" & Access & "'," & 
            "'" & Created & "'," & 
            "'" & Modified & "'," & 
            "'" & PcName & "')" 
     SQLCon.Open() 
     SqlCmd = New SqlCommand(strInsert, SQLCon) 

     SqlCmd.ExecuteNonQuery() 

     SQLCon.Close() 
    Catch ex As Exception 
     MsgBox("Ficheiro existente!") 
     pathTextBox.Clear() 
     lblName.Text = String.Empty 
     lblType.Text = String.Empty 
     lblSize.Text = String.Empty 
     lblCreated.Text = String.Empty 
     lblModify.Text = String.Empty 
     lblAccess.Text = String.Empty 
     lblKB.Text = String.Empty 
     nomePcLbl.Text = String.Empty 
     pbIcon.Image = Nothing 
     pbGreenDot.Image = Nothing 
     pbRedDot.Image = Nothing 
    End Try 
End Sub 

Und ich möchte in dieser Ausnahme die Möglichkeit, fügen Sie den Knopf, um Text der ursprünglichen

Jede Lösung für das zu ändern? Vielen Dank im Voraus.

Antwort

1

Sie sollten die page load manipulieren, wo der Steuertext gelöscht wird.

Wäre nützlicher, wenn Sie den Code teilen.

+1

haben Sie versucht, Debugging mit Breakpoints –

+0

Ich verstehe irgendwie, was das tut. Nachdem ich eine Datei eingefügt habe und die Meldung "Diese Datei ist bereits vorhanden" angezeigt wird, werden alle Beschriftungen bereinigt und der Schaltflächentext sollte ebenfalls geändert werden. Diese Schaltfläche wird verwendet, um nach dem Einfügen einer Datei kann ich es über die Schaltfläche öffnen. Es sollte auch den Text ändern: S –

+1

Erstens sollten Sie diese nicht im Catch-Teil behandeln. Sie könnten eine separate Sub verwenden, um die Standardeinstellungen zu löschen oder von einer anderen Quelle zu laden. und überprüfen Sie den Etikettentext während Postbacks. –

Verwandte Themen