- Απαιτήσεις: Visual Basic .NET, MS Access
- Κόστος: Δωρεάν
- Ολοκλήρωση εγχειρήματος: 30 λεπτά περίπου
- Επίπεδο δυσκολίας: 6/10
Με τη χρήση της εφαρμογής Video Location Manager θα ασχοληθούμε με τη βάση δεδομένων από όπου θα αντλεί τα δεδομένα η εφαρμογή μας και, ειδικότερα, με τον τρόπο σύνδεσης της με την τελευταία.
Μετά το σχεδιασμό του βασικού κορμού της εφαρμογής μας, με τη δημιουργία των κατάλληλων φορμών, αντιμετωπίζουμε ένα κομβικό σημείο της ανάπτυξης της εφαρμογής μας: τη δημιουργία της βάσης δεδομένων από την οποία θα αντλεί και στην οποία θα αποθηκεύει νέα δεδομένα η εφαρμογή μας. Πώς, όμως, συνδέεται μία εξωτερική βάση δεδομένων με μία εφαρμογή Visual Basic .NET;
Οι εφαρμογές μας χρησιμοποιούν έναν τύπο αντικειμένου που λέγεται “OleDbConnection” και αποτελεί τη σύνδεση με τη βάση δεδομένων. Η σύνδεση γίνεται με τη λογική σύνδεσης στο Internet client/server, οπότε το OleDbConnection είναι αντίστοιχο τόσο της δικτυακής σύνδεσης όσο και του provider.
Όπως θα δούμε στις λεπτομέρειες των βημάτων με τα οποία δημιουργείται μία τέτοια σύνδεση, υπάρχουν πολλά είδη OLE DB providers που, ανάλογα με τη λειτουργικότητά τους (σχετίζεται άμεσα με τη φύση του προγράμματος βάσης δεδομένων – στην περίπτωσή μας η Access), επιτρέπουν ανάλογο αριθμό μεθόδων (methods) και ιδιοτήτων (properties).
Ένα δεύτερο απαραίτητο στοιχείο είναι ένα ΟleDbDataAdapter αντικείμενο, το οποίο λειτουργεί σαν “γέφυρα” μεταξύ ενός DataSet και μίας βάσης δεδομένων, προκειμένου να αντλεί και να αποθηκεύει δεδομένα (DataSet είναι το κομμάτι της βάσης δεδομένων που διαμορφώνεται στη μνήμη όταν λειτουργεί η εφαρμογή. Τα περιεχόμενα και η δομή της είναι ανάλογα της βάσης).
Καθώς εισάγετε νέα objects στη φόρμα και κάνετε τις απαραίτητες ρυθμίσεις, στο παρασκήνιο προστίθεται αυτόματος κώδικας που μεταφράζει σε προγραμματιστικό επίπεδο τις ενέργειές σας. Αν και δεν θα αγγίξουμε αυτήν τη στιγμή τον κώδικα, αξίζει να ρίξετε μια ματιά σε αυτόν όταν ολοκληρώσετε τη διαδικασία: θα εντοπίσετε μια ακολουθία (η οποία ονομάζεται connection string), που θα περιέχει, μεταξύ άλλων, τις εξής εντολές: “Provider=Microsoft.Jet.OLEDB.4.0; Data source=C:\DBDVD.mdb”.
Φυσικά, οι δυνατότητες της VB.NET αλλά και γενικότερα οποιασδήποτε άλλης γλώσσας του Visual Studio, περιλαμβάνουν και εκείνη της σύνδεσης με βάσεις δεδομένων που εξάγονται από SQL. Όμως, μια τέτοια σύνδεση δεν μας εξυπηρετεί εδώ, αφενός επειδή ο όγκος της δικής μας βάσης είναι μικρός και αφετέρου επειδή δε χρειαζόμαστε τα προηγμένα χαρακτηριστικά απομακρυσμένης διαχείρισης της SQL.
Να θυμάστε ότι πρέπει να αντιγράψετε το αρχείο της βάσης στο C:\ για να δουλέψει σωστά η εφαρμογή. Αλλάζοντας στο connection string το Path, μπορείτε να τοποθετήσετε το αρχείο όπου εσείς θέλετε.
Βήμα 1
Σύνδεση με βάση δεδομένων της MS Access
Κατά τη δημιουργία της βάσης δεδομένων σχηματίζουμε τους πίνακες (tables) με τα αναγκαία πεδία που περιγράφουν τα χαρακτηριστικά των ταινιών μας (π.χ. τα είδη τους). Στην Access δημιουργούμε τον πίνακά μας μέσω της απεικόνισης σχεδίασης (Design View).
Βήμα 2
Η δημιουργία του πίνακα είναι τυπική μιας βάσης δεδομένων. Πρέπει να ορίσουμε τα κατάλληλα πεδία (fields) αλλά και τον τύπο των δεδομένων που θα περιέχουν: π.χ. το πεδίο “Όνομα Κατηγορίας” (CatName) είναι τύπος δεδομένων κειμένου.
Βήμα 3
Αφού αποθηκεύσουμε τη βάση δεδομένων, πηγαίνουμε στο περιβάλλον της VB. Από την εργαλειοθήκη επιλέγουμε το tab Data και σύρουμε με drag ‘n’ drop στη φόρμα το αντικείμενο ΟleDbConnection. Με αυτό συνδεόμαστε με τη βάση δεδομένων.
Βήμα 4
Πηγαίνουμε στο Properties και ρυθμίζουμε το ConnectionString της σύνδεσης, δίνοντας το όνομα του αρχείου βάσης δεδομένων. Για να γίνει αυτό, επιλέγουμε “Νew Connection” στο pop-up παράθυρο.
Βήμα 5
Θα εμφανιστεί ένα παράθυρο όπου ορίζουμε το είδος της σύνδεσης (Data Link). Κάθε σύνδεση απαιτεί τη χρήση του κατάλληλου συστήματος διοχέτευσης δεδομένων (data provider). Επιλέγουμε Microsoft Jet 4.0 OLE DB Provider.
Βήμα 6
Στο “Select Access Database” αναζητάμε το αρχείο. Ρυθμίζουμε τις παραμέτρους σύνδεσης και τις δοκιμάζουμε με “Test Connection”. Καλό είναι να εμπιστευτούμε τις default τιμές του “Data Link Properties”.
Βήμα 7
Σε αυτό το σημείο θα μας ζητηθεί να ορίσουμε προαιρετικά έναν κωδικό πρόσβασης στη βάση μας. Ωστόσο, η αποθήκευση ενός κωδικού πρόσβασης στη βάση δεδομένων δεν είναι απαραίτητο να συμπεριληφθεί στο connection string μας, εάν δεν έχουμε ορίσει κάτι τέτοιο στη βάση μας κατά τη φάση της δημιουργίας της.
Βήμα 8
Η διαχείριση των δεδομένων μας απαιτεί τη δημιουργία ενός αντικειμένου που ονομάζεται Data Adapter. Κάθε Data Adapter χρησιμοποιεί ένα connection (το έχουμε δημιουργήσει ήδη) πάνω στο οποίο εκτελεί μία command, δηλαδή μια εντολή. Μια εντολή επιτελεί μια βασική λειτουργία διαχείρισης, όπως εισαγωγή (Insert), διαγραφή (Delete) ή ανανέωση (Update) της τιμής κάποιου πεδίου.
Αν και η διαδικασία είναι απλή και γίνεται μέσω wizard (α), είναι σημαντικό να ορίσουμε το table που έχουμε φτιάξει μέσω του πλαισίου Query Builder (στην περίπτωσή μας το table “tDVDcat”) και εν συνεχεία τα πεδία που θα συνδέονται με την εφαρμογή μας (β). Η επιτυχής σύνδεση με τη βάση δεδομένων θα ολοκληρωθεί μόλις εμφανιστεί το δεύτερο αντικείμενο (OleDbDataAdapter1) στο κάτω μέρος της φόρμας. Φυσικά, είναι αντικείμενο εσωτερικό και αόρατο στο user interface.
Βήμα 9
Το τρίτο και τελευταίο αντικείμενο που απαιτείται για την ολοκλήρωση της σύνδεσης της εφαρμογής με τη βάση δεδομένων είναι το DataSet. Για να εισαγάγουμε ένα DataSet στην εφαρμογή, πρέπει από τον Solution Explorer να δημιουργήσουμε ένα φάκελο “TypedDataSets” που θα το περιέχει (α). Κατόπιν, επιλέγουμε ένα DataSet από την εργαλειοθήκη μας στην ενότητα “Data”. Η χρήση αυτού του αντικειμένου μάς επιτρέπει να διαχειριστούμε τα δεδομένα μας αφού τα αντλήσουμε.
Αρχικά, πρέπει να δημιουργήσουμε ένα “typed dataset” με βάση τον πίνακα της βάσης μας. Μόλις επιλέξουμε ένα αντικείμενο DataSet (β), θα ανοίξει στα αριστερά το παράθυρο του Server Explorer, από το οποίο θα κληθούμε να επιλέξουμε το table που έχουμε φτιάξει και να το σύρουμε στην κεντρική οθόνη του εργαλείου ανάπτυξης. Αποτέλεσμα αυτών των ενεργειών μας είναι το dsDVDCat (γ), το τελικό αντικείμενο, το οποίο θα χρησιμοποιήσουμε μέσα στον κώδικά μας για να κάνουμε όποιες εργασίες θέλουμε.
Βήμα 10
Προκειμένου να γίνει αυτό όμως, πρέπει να κάνουμε κάτι τελευταίο: από τον Solution Explorer επιλέγουμε fCategManager (α), πηγαίνουμε στην εργαλειοθήκη, στην ενότητα Data και παίρνουμε ένα αντικείμενο DataSet. Ένας μικρός wizard (β) θα μας βοηθήσει να δημιουργήσουμε ένα αντικείμενο που θα εμφανιστεί κάτω από τη φόρμα μας μαζί με τα δύο προηγούμενα αντικείμενα (OleDbConnection1, OleDbDataAdapter1). Φυσικά, ούτε αυτό το αντικείμενο εμφανίζεται κατά την εκτέλεση του προγράμματος και εμφανίζεται μόνο στη φόρμα ανάπτυξης της εφαρμογής.
