• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. C + C++ + C #

Forum

  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31

Marktplaats

  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22
  • TK: Kraai.eu

    frio 25 oktober 2026 om 11:39
  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    Jeroen.G 16 oktober 2026 om 14:27

[C#] Database class

  • Dees
  • 21 mei 2014 om 09:46
  • Dees
    Elite members
    Artikelen
    1
    Berichten
    358
    • 21 mei 2014 om 09:46
    • #1

    Beste lezer,

    Ik heb nog niet veel met MySQL en C# samen gedaan, maar ik wil graag een class maken waar ik query's naar kan sturen en dat deze dan worden uitgevoerd en het resultaat terug gestuurd wordt. Ik heb al een Class gemaakt maar vroeg me af of dit beter kon of dat iemand een betere class heeft.

    Hier mijn class.

    C#
    using MySql.Data.MySqlClient;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    
    namespace E_learning
    {
        class Database
        {
            private MySqlConnection _MySQLconn;
    
    
            /**
             * Database - Class constructor
             * stabilize database connection.
             */
            public Database(string _sUser, string _sPassword, string _sDatabase, string _sHost = "locahost")
            {
                // Create DB connection
                _MySQLconn = new MySqlConnection("Server=" + _sHost + ";Database=" + _sDatabase + ";Uid=" + _sUser + ";Pwd="+ _sPassword +";");
                _MySQLconn.Open(); // Open DB connection
            }
    
    
            /**
             * query - This functions is used to creates queries
             */
            public DataTable query(string sQuery = "")
            {
                MySqlCommand mscSelect = new MySqlCommand(sQuery, _MySQLconn); // Create query
    
    
                try
                {
                    MySqlDataReader mscReader = mscSelect.ExecuteReader();
                    DataTable dtData = new DataTable();
                    dtData.Load(mscReader);
                    return dtData;
                }
                catch (Exception)
                {
                    MessageBox.Show("Helaas, er is iets fout gegaan bij het ophalen van de gegevens.");
                }
    
    
                return new DataTable();
            }
    
    
            /**
             * conn - Function that will return the MySQLConnection.
             * When send a parameter it will set a new connection.
             */
            public MySqlConnection conn(MySqlConnection NewMySQLconn = null)
            {
                if (MySqlConnection.ReferenceEquals(_MySQLconn, NewMySQLconn))
                {
                    _MySQLconn = NewMySQLconn;
                }
    
    
                return _MySQLconn;
            }
        }
    }
    Meer tonen

    EDIT:

    Ik heb de tips van Bits geïmplementeerd. Hier het resultaat.

    Met vriendelijke groet,

    Dees

    Bewerkt één keer, laatst door Dees (21 mei 2014 om 11:18).

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Bits
    Beginner
    Berichten
    29
    • 21 mei 2014 om 09:56
    • #2

    Wat mij vooral opvalt is dat je in je catch een messagebox.show doet, dat betekend dat je form elementen in je class hebt gedaan en dat is niet de bedoeling.

    Verder ga je querys wegschrijven, maar let je niet op sql injectie. Beter is om te zorgen dat je een query stuurt en parameters voor die query.

    Moet je maar eens kijken naar voorbeelden hoe je geparameteriseerde query's schrijft.

  • Dees
    Elite members
    Artikelen
    1
    Berichten
    358
    • 21 mei 2014 om 10:06
    • #3

    SQL injection maakt op dit moment niet zo uit, het is een project voor school waar ik een E-Learnings applicatie moet maken voor kinderen uit een ziekenhuis. Moet ook zorgen dat de behaalde resultaten in een Care2X ziekenhuis systeem moet komen. Vandaar dat ik alle resultaten in die database ga zetten.

    Maar aan de code zelf, behalve de sql injection en de tijdelijke messagebox, is het wel een goede code voor het maken van query's?

    Ik zal trouwens wel even kijken naar de geparameteriseerde query's dit kan later zeker nog van pas komen.

    Met vriendelijke groet,

    Dees

  • L. Velthuis
    Vato Gonzalez
    Berichten
    682
    • 21 mei 2014 om 11:27
    • #4

    Alleen een MessageBox laten zien bij een try catch statement is niet zo'n ramp?

    Beginnend DJ! Volg mij op MixCloud!

    Lars Velthuis | Mixcloud

  • Sander.DJ
    Beginner
    Berichten
    8
    • 21 mei 2014 om 13:55
    • #5
    Citaat van L. Velthuis

    Alleen een MessageBox laten zien bij een try catch statement is niet zo'n ramp?


    Stel dat je deze class gaat gebruiken in een ASP.net applicatie en je komt in de catch terecht. Dan geeft je programma een messagebox aan de server die nooit beantwoord gaat worden. Met als gevolg dat je programma blijft hangen. Dat is niet de bedoeling.

  • L. Velthuis
    Vato Gonzalez
    Berichten
    682
    • 21 mei 2014 om 15:02
    • #6
    Citaat van Sander.DJ


    Stel dat je deze class gaat gebruiken in een ASP.net applicatie en je komt in de catch terecht. Dan geeft je programma een messagebox aan de server die nooit beantwoord gaat worden. Met als gevolg dat je programma blijft hangen. Dat is niet de bedoeling.

    Hmm,

    Is ook weer waar. Thanks wist ik niet :).

    zal hij dan in plaats van een messagebox een console.writeline moeten uitvoeren?

    Beginnend DJ! Volg mij op MixCloud!

    Lars Velthuis | Mixcloud

  • Dees
    Elite members
    Artikelen
    1
    Berichten
    358
    • 21 mei 2014 om 15:17
    • #7

    Heb nu gewoon een lege DataTable gestuurd zoals je hier kan zien.

    Met vriendelijke groet,

    Dees

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design