20. maj 2008 - 11:59Der er
22 kommentarer og 1 løsning
Windows app. der kan connecte til SQL
Hej
Skal have lavet et windows program i C#, hvor man skal logge ind også derfra tilføje ting i databasen, det med at tilføje ting osv, det kan jeg godt finde ud af.
Men det med at få lavet login til SQL databasen, hvor man skal taste brugernavn og password, hvor brugernavnet og pass er noget der ligger i databasen.
Nogen der kan hjælpe mig?
Der skal vel laves noget SQL connection og noget der tjekker pass og username. Jeg bruger forresten SQL Express.
Brug følgende connectionstring: Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Så opretter du bare en connection og prøver at forbinde til databasen og køre en eller anden query. Hvis du får en fejl, skriver du fejlmeddelelsen ud til brugeren. Hvis brugernavn eller password er forkert, vil der automatisk komme en fejlmeddelelse som fortæller dette.
En metode som tjekker brugernavn/password, kan se nogenlunde ud som dette (Ikke testet):
string errormessage; if (Connect(out errormessage, "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;")) { //brugeren er forbundet til databasen. } else { //brugeren er ikke forbundet med databasen. MessageBox.Show(errormessage); }
Det jeg har lavet her er ikke knyttet til verken et konsolprogram eller et Windowsprogram! Det er en metode som tjekker et brugernavn og password. Jeg gik ud fra at du selv kunne finde ud af at lave en form med nogle tekstbokse og knapper!
Hvis vi nu siger at din database hedder "TestDB", og at du har en TextBox til brugernavn som hedder tboxUserName, og en TextBox til password som hedder tboxPassword, og en Label til fejlbeskeder som hedder lblError. Og så har du sikkert en knap hvorpå der står "Login" som hedder btnLogin.
private void btnLogin_Click(object sender, EventArgs e) { string errormessage; string connectionstring = "Data Source=.\SQLEXPRESS;Initial Catalog=TestDB;User Id=" + tboxUserName.Text + ";Password=" + tboxPassword.Text + "; if (Connect(out errormessage, connectionstring)) { //Nu er brugeren logget ind, og vi lukker loginformen. this.Close(); } else } //Brugeren har skrevet forkert brugernavn og/eller password, og vi skriver fejlbeskeden ud på lblError lblError.Text = errormessage. } }
Data Source=.\SQLEXPRESS;Initial Catalog=TestDB;User Id=myUsername;Password=myPassword;
Ser rigtig godt ud, vil lige teste det her senere. Mange tak for hjælpen. Foresten hvor kommer man hen når man er logget ind? Jeg skal helst bare hen til et sted hvor der kommer en skærm frem hvor jeg programmere et sted hvor man kan opdatere tabeller osv.
Prøver lige at give dig nogen point, er ny her, så ved ik helt hvordan det fungerer.
aaberg80 > Har stadig lidt problemer, den ville ikke acceptere den connect:
if (>>Connect<<(out errormessage, connectionstring))
Den der, den siger den ikke eksisterer i den rigtige context. Her er min kode:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace Sebluray { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { string errormessage; string connectionstring = "Data Source=LIFEBOOOK\\SQLEXPRESS;Initial Catalog=Sebluray;User Id=" + txtuser.Text + ";Password=" + txtpass.Text + ""; if (Connect(out errormessage, connectionstring)) { //Nu er brugeren logget ind, og vi lukker loginformen. this.Close(); } else { //Brugeren har skrevet forkert brugernavn og/eller password, og vi skriver fejlbeskeden ud på lblError //lblError.Text = "hej"; } } } }
Jeg har ikke haft Connect metoden inde i Visual Studio, jeg sad og skrev den direkte ind i dette vindue, derfor har jeg lavet et par skrivefejl. Nu kopierte jeg den ind i Visual Studio og rettede fejlene. Her er resultatet:
Den siger jeg skal markere en bruger, men dit står allerede ved siden af den boks hvor man kan acceptere og når jeg trykker på den, vil den bare have mig til at vælge en bruger igen?
Ah, havde sgu ik opdaget man kunne trykke på den måde. :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.