none
c# und sql RRS feed

  • Frage

  •  

    Hallo

     

    ich habe heute ungefähr 8 Stunden das Internet nach einer Lösung durch sucht aber leider nichts gefunden.

    Hoffe ihr könnt mir helfen.

     

    Ich brauche mal eine Lösung für mein Problem da ich nichts gefunden haben.

     

    Ich arbeite mit Visual Studio 2008. Dies ist auf meinem Arbeitsrechner installiert. Auf dem Server 2003 läuft ein SQl Server 2005.

     

    Ich habe jetzt zwei Textfelder und einen Ok Button in meinem Programm.

    Diese heißen Textbox1.text und halt Textbox2.text.

    Im ersten Textfeld soll der Benutzer einen Nickname eingeben und im zweiten ein Passwort. Das Programm soll jetzt wenn der Benutzer auf den OK Button klickt eine verbindung zum Sql Server aufbauen und dort in der Tabelle Anmeldung den Benutzernamen herrausfinden und als rückgabewert das Passwort liefern.

     

    Ich habe leider bisher keine Syntax gefunden mit der ich eine Verbindung zum Sql Server aufbauen kann und mir das ergbinss der abfrage in einer Variablen gespeichert wird.

     

    Ich hoffe ihr habt eine Antwort ich bedanke mich jetzt schonmal.

     

    Freitag, 15. August 2008 17:22

Alle Antworten

  • Versuch es mal hier mit: http://msdn.microsoft.com/en-us/library/system.data.sqlclient(VS.71).aspx
    Dienstag, 26. August 2008 17:32
  • Eine sehr rudimentäre Möglichkeit:

     

    Den ConnectionString musst du anpassen. Integrated Security bedeutet, dass versucht wird, sich am Server mit dem aktuellen Windows- Benutzernamen und Passwort anzumelden. Andernfalls einfach die Attribute Password und Username verwenden.

     

    string connectionString = "Data Source=PfadZumDatenbankserver; Initial Catalog=Datenbankname; Integrated Security=SSPI; ODER Username=Benutzername; Password=Passwort;";

    SqlConnection conn = new SqlConnection(connectionString);

     

    string sqlCommand = "SELECT * FROM Tabellenname WHERE (NameDerSpalteFürBenutzername='" + textBox1.Text.ToString() + "') AND (NameDerSpalteFürPaswort='" + textBox2.Text.ToString() + "')";

    SqlCommand cmd = new SqlCommand(sqlCommand, conn);

     

    conn.Open();

    SqlDataReader reader = cmd.ExecuteReader();

     

    if (reader.HasRows)

    {

    //Authentifizierung erfolgreich

    MessageBox.Show("Authentifiziert Smile");

    }

    else

    {

    //Authentifizierung fehlgeschlagen

    MessageBox.Show("Fehlgeschlagen Sad");

    }

     

    conn.Close();

     

    Es sollte vielleicht noch der eine oder andere TryCatch- Block eingebaut werden (z.b. beim Öffnen der Verbindung).

    Wenn du das Programm veröffentlichst, solltest du die Anmeldedaten für die Datenbank auch nicht im Code festlegen, oder gleich am Server einen Lesezugriff auf die Tabelle ohne Anmeldung erlauben.

    • Als Antwort vorgeschlagen Breimeyer Dienstag, 8. Mai 2012 17:37
    • Nicht als Antwort vorgeschlagen Breimeyer Dienstag, 8. Mai 2012 17:37
    Dienstag, 9. September 2008 10:59