login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[C#] Timer Event (Opgelost)

Offline larssy1 - 07/04/2010 19:09
Avatar van larssy1MySQL beginner Heeey smers 

Ik dacht,, laat ik eens even een beetje kl*ten in C# leuk voor mijn opleiding voor volgend jaar 

Echter zit ik nu met een probleem XD Ik heb een timer event gemaakt, en zodra dit event word geactiveerd, word er een handeling gedaan..
Deze handeling heb ik gedaan om een nieuw form te openen.

Echter opent hij deze dus nu in 1x elke seconde XD wat niet bepaald de bedoeling is..

,, wat ik hier probeer is een klein login systeempje maken zonder een active SQL verbinding (omdat ik nog niet weet hoe dat moet )

Anyway, om jullie niet verder op te houden, hier de code:
http://plaatscode.be/139070/

Mvg
Lars Nijveld

14 antwoorden

Gesponsorde links
Offline Abbas - 07/04/2010 19:31
Avatar van Abbas Gouden medaille

Crew .NET
http://plaatscode.be/139071
Offline larssy1 - 07/04/2010 19:47
Avatar van larssy1 MySQL beginner Haha dankje en dit is het complete script dat ik moet gebruike nu? dus mijn oude weg gooien??

Btw, weet jij toevallig een goeie tut, en manier om een login systeem temaken??
Ik wil namelijk mijn login systeem gewoon in windows forms, en niet bepaald web-based maken.. of is dit niet mogelijk??
Offline Abbas - 07/04/2010 20:18
Avatar van Abbas Gouden medaille

Crew .NET
Natuurlijk is dit allemaal mogelijk!  Je moet niet perse al jouw code wegdoen, de mijne was gewoon om je verder op weg te helpen.

Voor die tutorial, kijk eens tussen scripts en tutorials die ik heb geschreven en je zou al een stapje verder moeten kunnen. Het komt er gewoon op neer dat bij een registratie gewoon verschillende gegevens in de DB komen te staan en bij het inloggen is het gewoon een controle doen op de ingevoerde informatie. Dit is hetzelfde in PHP, Java, ... alleen een andere syntax. 
Offline larssy1 - 07/04/2010 21:50
Avatar van larssy1 MySQL beginner ik weet veel van PHP, MySQL en alles maar C# is nogal een raadsel voor mij hoe de queries en alles hierin zijn opgebouwd, wat van structuur ze hebben, op dat gebied.

Uiteraard moet je wel ergens beginnen =D Ik had zelf al wat op msdn en andere website gekeken, maar deze gingen werken met aspx, en ik weet niet of dit mogelijk is op de manier zoals ik het echt daadwerkelijk wil =) daarom 
Offline Abbas - 07/04/2010 22:52
Avatar van Abbas Gouden medaille

Crew .NET
aspx is de extensie van een ASP.NET webpagina. Bestudeer gewoon de code die in mijn scripts en tutorials staat om de basis onder de knie te krijgen! 
Offline larssy1 - 08/04/2010 11:20
Avatar van larssy1 MySQL beginner Hoi titjes, momenteel gebruik ik deze code om een verbinding te maken met mijn MSSQL server =)

http://plaatscode.be/139074/

Echter weet ik niet hoe ik echt moet checken of er echt records zijn in de database, die met de username en wachtwoord overeen komen,

zou jij mij hierbij misschien een handje mee opweg helpen?
Offline Abbas - 08/04/2010 13:26
Avatar van Abbas Gouden medaille

Crew .NET
  1. SELECT * FROM userTabel WHERE userName = '" . txtNaam.Text . "' AND userPass = '" . txtPass.Text . "'

Je query is dus juist (misschien nog enkel zorgen dat het paswoord gehasht wordt).

Daarna is het enkel:

  1. if(myReader.Read())
  2. {
  3. //juist
  4. }
  5. else
  6. {
  7. //foute combinatie
  8. }
Offline larssy1 - 08/04/2010 14:28 (laatste wijziging 08/04/2010 14:57)
Avatar van larssy1 MySQL beginner Ik zat te denken aan een MD5 class in C# ^__^ of raad je dat af?

Btw, die querie kan niet, want ik zit puur in C# Express te coderen, niet in ASPX of iets dergelijks =)
-------------
Applicatie kan verbinden met de database, echter gaat het met de querie zelf ophalen ergens iets fout,, ik krijg namelijk een : Couldn't read Data foutmelding, die ik heb geconfigureerd.

Iemand een idee??
  1. try
  2. {
  3. myConnection.Open();
  4.  
  5. SqlDataReader myReader = null;
  6. SqlCommand myCommand = new SqlCommand("SELECT * FROM Members WHERE name = " + txtName.Text + " AND password = " + txtPwd.Text,
  7. myConnection);
  8. try
  9. {
  10. myReader = myCommand.ExecuteReader();
  11.  
  12. if (myReader.Read())
  13. {
  14. MessageBox.Show("OK");
  15. }
  16. else
  17. {
  18. MessageBox.Show("NO");
  19. }
  20. }
  21. catch
  22. {
  23. MessageBox.Show("couldn't read data!!");
  24. }
  25. }
  26. catch
  27. {
  28. MessageBox.Show("No connection to database could be established!");
  29. }
Offline Abbas - 08/04/2010 15:54
Avatar van Abbas Gouden medaille

Crew .NET
Doe eens:

  1. SqlCommand myCommand = new SqlCommand(..);
  2. SqlDataReader myReader;
  3.  
  4. try
  5. {
  6. myConnection.Open();
  7. myReader = myCommand.ExecuteReader();
  8. if(myReader.Read())
  9. //ok
  10. else
  11. //niet ok
  12. }
  13. catch(Exception ex)
  14. {
  15. MessageBox.Show(ex.Message);
  16. }
  17. finally
  18. {
  19. myConnection.Close();
  20. }

- myReader niet op null zetten
- volgorde van de regels is wat anders
- ook wat er al dan niet binnen try-catch moet wat veranderd
- geen custom message weergeven bij de catch maar de echte reden (zo kan je zien wat de fout veroorzaakt)
Offline larssy1 - 08/04/2010 16:39 (laatste wijziging 08/04/2010 16:41)
Avatar van larssy1 MySQL beginner Ik heb mijn code geprobeerd, en bij het registreren van een nieuw account, doet hij het gewoon.

---
Na wat proberen ben ik ook eruit gekomen bij het inloggen 
ik had de query fout, ik had geen 's gebruikt,, hier heb ik wat gedoe mee gehad, maar uit eindelijk kwam ik ook erachter dat ik de query zelf niet heb afgesloten, dus hij las , myConnection niet 

Totzover werkt alles 
---
sorry voor de (als jij dat zo uberhoud kunt noemen..) Moeite , ik ben wel van plan om nu de ex.Message te gebruiken wist nog niet van die optie 
Offline Abbas - 08/04/2010 16:43
Avatar van Abbas Gouden medaille

Crew .NET
No problem, als er nog iets is laat je maar weten. Als dit probleem opgelost is mag je de juiste reactie als oplossing aanduiden. 
Offline larssy1 - 08/04/2010 18:54
Avatar van larssy1 MySQL beginner Er zijn een klein aantal dingen.. daarna zal ik deze topic sluiten,
als je met deze 3 dingen nog wilt helpen, dan ben je mijn reddings engel 

#1:
Waarom kan ik niet het huidige form sluiten op de volgende manier (voorbeeld van Register.cs)
  1. Register Register = new Register();
  2. Register.Close();
  3.  
  4. //Ook werkt het niet voor Form1
  5.  
  6. Form1 Login = new Form1();
  7. Login.Close();


#2
wanneer de gebruiker is ingelogd, hoe is het dan het beste om een nieuwe pagina op te roepen?

Ik kan het met een Timer doen bijvoorbeeld.. Ook kan ik een nieuwe form gewoon rechtstreeks aanroepen,, Maar ik heb hoe dan ook het probleem dat hij de login.cs niet afsluit..

#3
Raden jullie aan om de gegevens (login + login sessie, als ik er tenminste achter kom hoe dat moet..) in een .ini file of een .config file, of in een clas.. hoe precies? =)

Je kunt me ook toevoegen op msn als je wilt, als dat iets gemakkelijker is..
lars@unrealxs.com
Offline Abbas - 08/04/2010 23:36
Avatar van Abbas Gouden medaille

Crew .NET
De huidige form sluiten doe je met volgende code:

  1. this.Close();

Maar dan gaat alles dicht, ook je Register. Je kan dan best this.Hide() doen.

Bij het tweede puntje snap ik niet wat je bedoelt.

Je kan allerhande waardes opslaan in de App.config / settings file.
Offline larssy1 - 09/04/2010 08:39 (laatste wijziging 09/04/2010 10:16)
Avatar van larssy1 MySQL beginner Oké, ik kom waarschijnlijk nogal in verwarring met VB6 kwa sluiten en openen van een form.

Ik zouw nummer 2 nu zelf kunnen oplossen met behulp van #2.
Ik zal het over een kwartiertje implementeren, en dan kijken of het doet (wat geen probleem zal zijn)

Dan sluit ik dit topic hoe dan ook.. bedankt =D
------------
Haha, werkt perfect maar ik neem aan dat de settings file goed beveiligd is of zelfs ingecodeerd in de .exe file zelf?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s