Announcement

Collapse
No announcement yet.

C# und eine SQL Verbindung, wie?

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

  • C# und eine SQL Verbindung, wie?

    Hallo,

    ich weiß nich ob ich in diesem Unterforum richtig, fals nicht, verschiebt mich bitte.

    Also meine Frage besteht darin. Ich habe jetzt das neue Visual Studio 2008 und programmiere da eine WPF. In diesem Programm möchte ich auf eine Datenbank zugreifen. Ich habe außerdem MS SQL Server 2005. Ich weiß jetzt nicht genau, wie ich Lokal bei mir eine Datenbank erstellen kann und dann auf diese Zugreifen kann. Im code habe ich schon alles geschrieben das er eine Verbindung aufbaut, jedoch schlägt diese ja logischer Weiße fehl weil ja er keine Verbindung aufbauen kann, da die DB noch nicht bekannt ist. Wie kann ich es also nun machen das ich eine Verbindung dort hinherstellen kann und dann auch SQL Komandos absetzen kann?? Ich bin führ jeden Rat dankbar.

    Schönen Abend wünsche ich jedem noch.

  • #2
    In solchen Fällen kann http://www.connectionstrings.com/?carrier=sqlserver2005 sicher nützlich sein.
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Hallo,

      um die Frage beantworten zu können, muss zuerst die Frage geklärt werden, ob das Programm auf eine User Instance (SQL Server 2005 Express) zugreifen soll, bei der die Datenbank automatisch in den SQL Server eingehängt wird, oder ob die Datenbank permanent im SQL Server 2005 installiert werden soll und auch dann verfügbar ist, wenn das eigene Programm nicht läuft.

      Comment


      • #4
        @andreas, ich würde sagen der erste von dir genannte fall sollte bei mir eintreten.Und Visual 2008 bietet ja shcon so viele möglichkeiten Lokale Datenbanken zu erstellen. Jedoch wie kann ich dann auf diese Zugreifen und damit arbeiten?

        Comment


        • #5
          Hallo,

          die angehängte Abbildung zeigt den Weg, wie eine neue (leere) Express-Datenbank in das eigene Projekt eingebunden wird.
          Attached Files

          Comment


          • #6
            ok super danke, ich hatte immer local database genommen, vieleicht hatte es daher nicht funktioniert, und wie komme ich dann auf die DB drauf, also beim connectionstring muss ich databaseserver angeben und die database an sich, wo kriege ich nun den database server raus??

            Comment


            • #7
              Hallo,

              der Server-Explorer zeigt die Projekt-Datenbank automatisch an, so dass neue Tabellen angelegt werden können. Wenn dann im DataSet-Designer eine Tabelle aus dieser Datenbank vom Server Explorer über Drag&Drop auf die Designer-Oberfläche gezogen wird, verbaut Visual Studio automatisch die korrekte Verbindungszeichenfolge in den Projekteigenschaften (Settings).

              Angenommen, die Datenbank hat den Namen "BASTA". In diesem Fall kann das Programm zur Laufzeit über den folgenden Zugriff die Verbindungszeichenfolge auslesen:

              Code:
              string s = Properties.Settings.Default.BASTAConnectionString;
              Alternativ kan man die Verbindungszeichenfolge auch direkt zusammenbauen:
              • Der Servername .\SQLEXPRESS steht für die lokale SQL Expreess-Edition
              • Der Platzhalter |DataDirectory| steht für das Programmverzeichnis



              Code:
              Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Datenbank\dotnetMagazin.mdf;Integrated Security=True;User Instance=True

              Comment


              • #8
                ah ok, nud wie kann ich die datenbank nun im code ansprechen, so das ich sachen welche meinetwegen eingegeben wurden, in die db inserten kann?

                Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Datenbank\dotnetMagazin.mdf;Integrated Security=True;User Instance=True

                kann ich das \.SQLEXPRESS so übernehmen oder muss ich da noch was verändern?. Und bei AttachDbFilename , da muss dann der Pfad zu der DB hin welche ich erzeugt habe? habe ich das richtig verstanden?

                Comment


                • #9
                  Hallo,

                  wie kann ich die datenbank nun im code ansprechen..
                  über die Komponenten und Klassen von ADO.NET. Am einfachsten geht das über die automatische Datenbindung von Visual Studio, wenn im Datenquellen-Fenster die Tabelle aus der Datenbank ausgewählt wird. Sobald diese Tabelle im Datenquellen-Fenster dargestellt wird, legt ein Drag&Drop auf das geöffenete Formular alle notwendigen Komponenten an (siehe die angehängte Abbildung):
                  • typisiertes DataSet
                  • TableAdapter
                  • BindingSource
                  • BindingNavigator
                  • DataGridView etc.


                  Und bei AttachDbFilename , da muss dann der Pfad zu der DB hin welche ich erzeugt habe?
                  Wenn die Datenbank im User Instance-Modus betrieben wird, hängt die Express Edition die Datenbank erst beim Öffnen der Bindung ein (aus diesem Grund taucht AttachDbFilename in der Verbindungszeichenfolge auf. Der dort angegeben Dateiname legt fest, in welcher Datei die einzuhängende Datenbank liegt. Der Platzhalter |DataDirectory| steht dabei für das Programmverzeichnis der Windows-Anwendung.
                  Attached Files

                  Comment

                  Working...
                  X