Announcement

Collapse
No announcement yet.

benötige UserID aus sqlConnection

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • benötige UserID aus sqlConnection

    Wenn ich eine bestehende sqlConnection hab und irgendwann wissen muss, wer sich denn mit der Datenbank verbunden hat, muss ich ja irgendwie an die UserID kommen.

    Es gibt ja 2 Möglichkeiten sich zu einer Datenbank zu connecten:

    1. via Angabe von UserID und Passwort:
    --> dann steht die UserID zumindest im ConnectionString und ich könnte die mir theoretisch mühsam dort rausfiltern.

    2. via Windowskennung:
    --> im ConnectionString steht nichts davon, wenn ich ihn mir ausgeben lasse

    Also wie komme ich an die benötigten Informationen?
    Danke für Hilfe!

  • #2
    Wie genau soll das denn ablaufen? Geht es dir um die Verbindung die von deiner Anwendung geöffnet wurde, oder geht es dir um die Verbindungen, die generell am SQL Server geöffnet sind?
    .NET GUI - DIE Community für GUI-Entwickler

    Living.NET - Blog :: Live Blog :: .NET Casts

    Hol' dir jetzt dein kostenloses .NET BlogBook.

    Comment


    • #3
      Oh, sorry, da habe ich mich nicht deutlich formuliert.

      Also es handelt sich bei der Verbindung um eine aus meiner Anwendung erstellte.

      Also meine Anwendung erstellt die sqlConnection, fügt einen Eintrag in die Datenbank ein und an dieser Stelle würde ich auch gerne den UserName in die Datenbank eintragen, damit man weiß, wer den Eintrag getätigt hat.

      Comment


      • #4
        Diese Informationen bekommst du zB mit Hilfe des SqlConnectionStringBuilder heraus. Bei der Windows-Anmeldung musst du dir den aktuellen Windowsbenutzer raussuchen (http://msdn2.microsoft.com/en-us/lib...sidentity.aspx).

        Hier stellt sich natürlich die Frage, warum du über diesen Weg gehst. Finde ich persönlich nicht sehr sauber, denn im Grunde wird wohl jeder Benutzer mit dem gleichen ConnectionString (wenn nicht Windowsanmeldung, dann vermutlich gleicher Username) verwenden. Daher empfiehlt es sich, überhaupt eine Login-Funktionalität in der Anwendung zu verankern.
        .NET GUI - DIE Community für GUI-Entwickler

        Living.NET - Blog :: Live Blog :: .NET Casts

        Hol' dir jetzt dein kostenloses .NET BlogBook.

        Comment


        • #5
          Mh, ok, nehmen wir an ich habe 2 Forms und eine eigene Connectionklasse, in der ich halt alles was sqlConnections angeht regeln will.

          In meiner MainForm lege ich eine Instanz der connectionklasse an, in der dann der UserName gespeichert ist.
          Nun erstelle ich mit meiner MainForm die SecondForm und lasse mir diese anzeigen.
          Code:
          SecondForm _secondForm = new SecondForm();
          _secondForm.ShowDialog();
          Wie kann ich jetzt, während ich mich in der SecondForm befinde, an die Werte von der MainForm gelangen?
          Sprich ich würde ja so etwas benötigen wie:
          Code:
          ParentForm._connectionclass.getUserID();

          Comment


          • #6
            Indem du dem Konstruktor deiner zweiten Form ein Attribut hinzufügst und deine ConnectionSettings-Klasse übergibst.
            Code:
            public class MyForm : System.Windows.Forms
            {
               ConnectionSettings _connSettings = null;
            
               public MyForm(ConnectionSettings connSettings)
               {
                  _connSettings = connSettings;
               }
            }
            Aufrufen kannst du nun deine Form so:
            Code:
            ConnectionSettings settings = new ConnectionSettings()
            // settings nun befüllen
            MyForm form = new MyForm(settings);
            form.ShowDialog();
            Nun hast du in deiner zweiten Form die ConnectionSettings (ich bin mal davon ausgegangen, dass deine Klasse einfach so heißt) und kannst diese entsprechend weiterverarbeiten.
            .NET GUI - DIE Community für GUI-Entwickler

            Living.NET - Blog :: Live Blog :: .NET Casts

            Hol' dir jetzt dein kostenloses .NET BlogBook.

            Comment


            • #7
              Also muss man praktisch doch die Werte an die SohnForm übergeben.
              Dachte das würde auch anders gehen.
              Naja, dann halt so

              Dank Dir mal wieder!

              Comment


              • #8
                Natürlich gibt es auch andere Wege. Die von mir gezeigte Variante ist jedoch leicht erweiterbar etc.
                .NET GUI - DIE Community für GUI-Entwickler

                Living.NET - Blog :: Live Blog :: .NET Casts

                Hol' dir jetzt dein kostenloses .NET BlogBook.

                Comment


                • #9
                  Und wie würde ich vorgehen, wenn ich nun in meiner SohnForm eine TextBox der VaterForm ändern will?

                  Bisher änder ich das erst, wenn ich wieder in der VaterForm bin.
                  Sprich ich speicher mit die Werte in der SohnForm in TextBoxes
                  und wenn ich wieder in der VaterForm bin, änder ich dessen TextBox.


                  Code:
                  textBox1.Text = _sohnForm.getTextBoxText();

                  Comment


                  • #10
                    Indem du dein übergebenes Objekt wieder zurück an den Parent gibst. Darin enthalten sind die geänderten Informationen, die du dann auch zur Anzeige bringen kannst.
                    .NET GUI - DIE Community für GUI-Entwickler

                    Living.NET - Blog :: Live Blog :: .NET Casts

                    Hol' dir jetzt dein kostenloses .NET BlogBook.

                    Comment


                    • #11
                      Ja ok, aber dann änder ich es ja doch wieder im parent!

                      Es muss doch möglich sein, dass irgendwie direkt zu erledigen.

                      Sprich ich änder den Inhalt der Textbox aus der ChildForm und die Textbox der ParentForm ändert sich direkt mit. Nicht erst durch Übergabe von Parametern etc.

                      Ist das echt nicht möglich?

                      Comment


                      • #12
                        Binde die Eigenschaften deiner Klasse über DataBinding an die Textfelder deiner ParentForm. Damit bekommst du das hin.

                        Die MSDN sollte zum Thema DataBinding durchaus etwas ausspucken.
                        .NET GUI - DIE Community für GUI-Entwickler

                        Living.NET - Blog :: Live Blog :: .NET Casts

                        Hol' dir jetzt dein kostenloses .NET BlogBook.

                        Comment

                        Working...
                        X