1. #1
    aTw2's Avatar
    Registered
    31/01/10
    Location
    Ieper
    Posts
    13
    iTrader
    0
    Mentioned
    0 Post(s)

    Visual studio: access

    hey, ik ben nieuw op deze website en ik hoop hier een paar antwoorden te vinden.

    Ik ben al een tijdje bezig met Visual studio en ik wil graag een access bestand verbinden met mijn programma.
    Ik kan het allemaal wel verbinden, maar ik weet niet hoe ik het kan bewerken.

    Bv. Ik wil een login + registratie maken. Wat zijn dan de codes om een login op te zoeken, en controleren met pass?
    En hoe voeg ik een persoon erbij.

    Mattias

    P.S. ik heb goede kennis van access indien dit nodig zou moeten zijn.
    no votes  

  2. #2
    voltje's Avatar
    Registered
    31/07/04
    Location
    Kortrijk
    Posts
    1,019
    iTrader
    4 (100%)
    Mentioned
    0 Post(s)
    Hoe gebeurt dit: SQL

    Hoe doe je dit in je programma...
    Wel je moet verbinding maken met je database he op volgende manier: (let op, dit is niet MIJN klasse, en het kan waarschijnlijk beter, maar het werkt)

    Maak een klasse aan met naam Database en zorg dat het eruit ziet zoals deze:

    #1062837 - Pastie

    Wil je nu iets "opvragen" maak je eerst een instantie aan van die database class:

    private Database db = new Database("GIPpinguin.accdb");

    en dan kan je gegevens opvragen voor bvb in te loggen:

    DataSet ds = db.CreateTable("SELECT * FROM Speler WHERE (((Speler.Username)='" + user + "') AND ((Speler.Password)='" + pass + "'));", "user");
    if (ds.Tables["user"].Rows.Count > 0)
    {
    foreach (DataRow dr in ds.Tables["user"].Rows)
    {
    int id = Convert.ToInt32(dr["IdSpeler"].ToString());
    string username = dr["Username"].ToString();
    string password = dr["Password"].ToString();
    bool admin = Convert.ToBoolean(dr["Admin"].ToString());
    int Chips = Convert.ToInt32(dr["Chips"].ToString());
    //Of vraag gegevens op die je nodig hebt, via: dr["kolomnaam"].toString() en dan casten naar het juiste datatype
    }
    }

    Zoiets werkt...
    Ik werk zelf weinig met acces, en ik ben er zeker van dat er betere manieren zijn. Maar die heb ik nu niet bij de hand.
    Deze manier werkt
    BLOG: http://blog.voltje.be/
    DESKTOP: AMD Phenom x4 925 / ASUS Mobo / ATI RADEON HD5770 1GB DDR5 / 4GB DDR3 / 1x 24" Full HD Samsung/ Logitech G9x / QPad Lowsense / Logitech Illuminated !
    LAPTOP: Lenovo T510 / Intel i5 @ 2.40Ghz / 8GB Ram / 120GB SSD
    WOW CHAR: Averlena, Protection Paladin @ Talnivarr
    no votes  

  3. #3
    aTw2's Avatar
    Registered
    31/01/10
    Location
    Ieper
    Posts
    13
    iTrader
    0
    Mentioned
    0 Post(s)
    Werkt dit met een Windows form? Ik probeer het nu al een tijdje zonder succes...
    no votes  

  4. #4
    voltje's Avatar
    Registered
    31/07/04
    Location
    Kortrijk
    Posts
    1,019
    iTrader
    4 (100%)
    Mentioned
    0 Post(s)
    Ja dat werkt
    BLOG: http://blog.voltje.be/
    DESKTOP: AMD Phenom x4 925 / ASUS Mobo / ATI RADEON HD5770 1GB DDR5 / 4GB DDR3 / 1x 24" Full HD Samsung/ Logitech G9x / QPad Lowsense / Logitech Illuminated !
    LAPTOP: Lenovo T510 / Intel i5 @ 2.40Ghz / 8GB Ram / 120GB SSD
    WOW CHAR: Averlena, Protection Paladin @ Talnivarr
    no votes  

  5. #5

    Registered
    15/10/07
    Location
    Aalst
    Posts
    1,333
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/47
    Zoekt anders gewoon een beetje boeken/informatie over ADO.Net
    no votes  

  6. #6
    killerheyz's Avatar
    Registered
    12/08/10
    Location
    smallingerland
    Posts
    7
    iTrader
    0
    Mentioned
    0 Post(s)
    wat je ook kan proberen is OleDB te gebruiken.
    Let wel op deze code is geschreven in C#.

    [C#]
    Code:
    Using System.Data;
    Using System.Data.OleDB;
    
    public bool CheckUser(string username, string password)
    {
       OleDBConnection con = new OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;");
       OleDBCommand com = new OleDBCommand(string.Format("SELECT * FROM Users WHERE Username = '{0}' AND Password = '{1}'", username, password), con);
       con.Open();
       DataSet ds = new DataSet();
       OleDBDataAdapter adapter = new OleDBDataAdapter(com);
       adapter.Fill(ds, "Users");
       con.Close();
    
       if(ds.Tables["Users"].Rows.Count > 0)
          return true;
       else
          return false;
    }
    
    private void Button1_Click(object sender, EventArgs e)
    {
         if(CheckUser(TextBox1.Text, TextBox2.Text))
         {
             // Opdracht uivoeren.
         }
         else
         {
             MessageBox.Show("Verkeert gebruikers naam of wachtwoord.");
         }
    }
    hoop dat dit iets je kan helpen.
    no votes  

  7. #7
    Howlingwolfe's Avatar
    Registered
    27/11/09
    Location
    Erembodegem (Aalst)
    Posts
    94
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    een login + registratie maken in Visual Studio is makkelijk.
    Dit is mijn code die ik gebruikte om een login te maken:
    Code:
    Imports System.Data.OleDb
    bij u login knop
    strGebruikersnaam = txtGebruikersnaam.Text.trim
    strWachtwoord = txtWachtwoord.Text.trim
    Dim reader As OleDbDataReader 'Create an OleDbDataReader object.
    Dim SQLstr As String = "Select Gebruikersnaam, from Login where Gebruikersnaam ='" & strGebruikersnaam & "' AND wachtwoord = '" & strWachtwoord & "'"
    Dim conString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    " Data Source=M:\Gipprogramma\Test.accdb"
    Dim conn As OleDbConnection = New OleDbConnection(conString)
    conn.Open()
    cmd = New OleDbCommand(SQLstr, conn)
    
    
    reader = cmd.ExecuteReader()
    
    dim found as Boolean = false
    While (reader.Read())
    found = true
    exit while
    End While
    
    
    reader.Close()
    conn.Close()
    
    if found
    Select Case True
    
    
    Case String.Compare("strGebruikersnaam ", " svancauwenbergh ", True) = 0
    Me.Hide()
    Reservaties.Show()
    
    Case String.Compare("strGebruikersnaam ", " limpens ", True)
    Me.Hide()
    Reservaties.Show()
    
    Case String.Compare("strGebruikersnaam ", " debbie ", True)
    Process.Start("winword.exe")
    
    Case String.Compare("strGebruikersnaam ", " jvanderbiest ", True)
    Me.Hide()
    Overzicht.Show()
    ' als er foute gegevens ingevoerd worden
    
    Case else
    ‘Oplossen, want er is een gebruiker gevonden in de database met ingevoerde gebruikersnaam en wachtwoord
    
    end select
    
    else
    MsgBox("u hebt foute login gegevens gebruikt", MsgBoxStyle.Information, "Login fout")
    intFouten += 1
    end if
    
    
    
    ' als het aantal fouten gelijk is aan 3 sluit het programma af
    If intFouten = 3 Then
    MsgBox("u hebt al 3maal foute login gegevens gebruikt programma sluit nu af", MsgBoxStyle.Information, "Foute invoer")
    Application.Exit()
    End If
    ' de velden leegmaken
    txtGebruikersnaam.Text = ""
    txtWachtwoord.Text = ""
    End Sub
    en registratie is gwn u velden linken met de dataset en dan INSERT INTO via sql
    Who Dares Wins
    “Even the lowest man can rise beyond the heavens, when tempted with the proper reward.”
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in