Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

Îåêßíçóå áðü ôï ìÝëïò attikon. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 27-09-2008, 12:38. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  26-09-2008, 13:39 44895

    Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Καλησπέρα παιδιά.

    Καταρχήν συγνώμη αλλά δεν ήξερα που ακριβώς να βάλω αυτό το τόπικ, οπότε αφού έχει να κάνει κυρίως με βάσεις δεδομένων αποφάσισα να το βάλω σε αυτή τη κατηγορία.
    Έψαξα λίγο το φόρουμ και γενικά το internet για το ζήτημα μου αλλά επειδή δεν είμαι σχετικός δεν κατάλαβα πάρα πολλά και έτσι είπα να ρωτήσω εδώ απ' την αρχή.

    Χρησιμοποιώ Visual Basic 2008 Express Edition και από ότι κατάβα μπορώ να χρησιμοποιήσω .NET έτσι δεν είναι; (όχι ότι ξέρω ή/και χρειάζομαι)
    Δεν αναπτύσω παραθυρικές εφαρμογές γενικά γι αυτό και είμαι κάπως άσχετος και δεύτερον δεν έχω ασχοληθεί ξανά με προγραμματισμό με βάσεις δεδομένων. Το επίπεδο μου είναι γενικά καλό όσον αφορά στη γενική θεωρία του δομημένου προγραμματισμού κυρίως και κάνουμε και κάποια βήματα προς αντικειμενοστραφή. Με οπτικό δεν είχα ασχοληθεί ποτέ σοβαρά.

    Κατέλειξα στη VB γιατί θέλω να φτιάξω μια απλή σχετικά (?) παραθυρική εφαρμογή. Κυρίως δηλαδή επειδή πρέπει να είναι παραθυρική. Δε ξέρω αν με C++ που τη γνωρίζω είναι πιο δύσκολο αλλά για παράθυρα η VB μου φαίνεται πιο στρωτή ή τέλος πάντων πιο "φυσική". Με VB είχα ασχοληθεί λιγάκι μικρός και ξέρω κάποια απλά πράγματα.

    Το πρόβλημα μου είναι στο προγραμματισμό με τις βάσεις δεδομένων.

    Από τις αναζητήσεις μου δε βρήκα και πολλά χρήσιμα snippets και μερικά μου φάνηκαν παλιά, δε ξέρω αν έχουν αλλάξει τα πράγματα στις καινούργιες εκδόσεις της VB.

    Θέλω να φτιάξω ένα πολύ απλό πρόγραμμα που να συνδέεται σε ένα server βάση δεδομένων, να μπορεί να βάζει νέα δεδομένα στα υπάρχοντα tables, να κάνει αναζήτηση και εμφάνιση και εκτύπωση αυτών.

    Από ότι είδα έχει διαφορά αναλόγως τι είδους είναι η βάση/server. Δε γνωρίζω εκ των προτέρων τι βάση θα τρέχει ο server αλλά μάλλον μία από SQL Server, SQL Server 2005 και MySQL.
    Για δοκιμές έχω στον υπολογιστή τοπικά μια MySQL όπου θέλω να κάνω τις δοκιμές.

    Τώρα... Θέλω βοήθεια καταρχήν ως προς το με ποιόν τρόπο να συνδεθώ στη βάση. Κυρίως στα παραδείγματα που είδα χρησιμοποιούσαν το ActiveX Data Objects Library (2.8). Αλλά προσπάθησα να το χρησιμοποιήσω χωρίς επιτυχία. Αλλιώς με τι άλλους τρόπους πώς μπορεί να γίνει; Κανά-δυο snippets θα βοηθούσαν.
    Εγώ το έβαζα στο project από τα references, και μετά προσπαθούσα με κάτι τέτοιο να συνδεθώ

    Dim
    ConnObj As New ADODB.Connection

    ConnObj.Open( _
    "Provider = sqloledb;" & _
    "Data Source={ServerName};" & _
    "Initial Catalog={DatabaseName};" & _
    "User ID={UserName};" & _
    "Password={Password};")

    MsgBox("Egine Syndesh")


    Νομίζω πως καταρχήν για MySQL το string του provider είναι λάθος αλλά δε βρήκα και πάλι τι πρέπει να βάλω γιατί με ADO και MySQL δεν βρήκα παραδείγματα (νομίζω ότι δε δουλεύουν μεταξύ τους καν; Μόνο ODBC;). Από ότι κατάλαβα υπάρχει τρόπος να γίνει σύνδεση μέσω .ΝΕΤ με το System.Data.SqlClient (.ΝΕΤ είναι;) Έχω χαθεί και με τι διαφορά στις τεχνολογίες και με τους τρόπους.

    Στο μυαλό μου το έχω σχεδιάσει κάπως έτσι. Έχω καταρχήν μια φόρμα όπου δίνω τα στοιχεία για τη σύνδεση (είδος βάσης, IP του server, Όνομα βάσης, Όνομα χρήστη και Κωδικό). Αφού γίνει η σύνδεση εμφανίζεται η δεύτερη φόρμα που έχει ένα πλαίσιο όπου μπορώ να γράφω SQL Queries και με ένα κουμπί να τα περνάω στο server. Από κάτω σε διάφορα text boxes θα βγαίνουν τα αποτελέσματα (ή απλά σε κάποιο pop-up ή κάτι τέτοιο). Αλλά ας λύσουμε πρώτα το θέμα της σύνδεσης και μετά βλέπουμε. Κυρίως το προγραμματάκι θα φτιαχτεί βλέποντας και κάνοντας γιατί όπως είπα δεν έχω τις γνώσεις που χρειάζονται και δεν έχω το χρόνο να τις αποκτήσω προτού αρχίσω να το φτιάχνω σιγά σιγά. Ελπίζω το ίδιο το πρόγραμμα να λειτουργήσει μαζί με τις δικιές σας συμβουλές σαν crash course.

    Επίσης, για την εκτύπωση δεδομένων ποιός είναι ο πιο εύκολος τρόπος; Ας πούμε ότι δίνω ένα query και μου εμφανίζει τα στοιχεία που θέλω είτε στη φόρμα την ίδια είτε σε παράθυρο. Είδα ότι στο toolbox έχει components για εκτύπωση. Χρησιμοποιώ κάτι από εκεί; Τέλος πάντων αυτό είναι δευτερεύων.

    Ευχαριστώ εκ των προτέρων, θα απαντήσω φυσικά σε κάθε ερώτηση αν μπορείτε να δώσετε κάποια συμβουλή.
  •  26-09-2008, 17:22 44901 σε απάντηση της 44895

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Γεια σου.

    Για τις βάσεις MS SQL 2005 & 2008 θα σου πρότεινα να επισκεφθείς το site http://msdn.microsoft.com/en-us/vbasic/ms789075.aspx

    Έχει παραδείγματα κώδικα για όλες σχεδόν τις περιπτώσεις, οπότε μέσα από εκεί θα μπορούσες να πάρεις μία αρχική ιδέα.  Βέβαια αναφέρεται στο VS 2005 με MS SQL 2005 αλλά δεν νομίζω να έχουν αλλάξει τα πράγματα για απλά σενάρια. Λίγο πολύ τα ίδια θα είναι.

    Όσο για την σύνδεση με mySQL πήγαινε στο site http://dev.mysql.com/downloads/

    και κατέβασε τον mySQL Connector 5.2 για σύνδεση με .ΝΕΤ αντί να χρησιμοποιείς ODBC.

    Νομίζω ότι είναι αυτά που ψάχνεις.

  •  26-09-2008, 17:30 44902 σε απάντηση της 44895

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    ADO? Πού το θυμήθηκες αυτό? Το ADO χρησιμοποιούταν από την VB 6 (ζωή σε λόγου μας). Δεν υπάρχει κανένας απολύτως λόγως να ασχοληθείς με το ADO. Αντί γι αυτό θα πρέπει να κοιτάξεις το ADO.NET το οποίο διαφέρει αρκετά, π.χ. δεν υπάρχει Recordset. Είναι σχεδόν αδύνατο πλέον να βρεις πληροφορίες για το ADO - άσε που είναι πολύ πιο αργό. Αντίθετα για ADO.NET θα βρεις πάρα πολλές πληροφορίες, ξεκινώντας καταρχήν από ... το Help του ίδιου του προϊόντος.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  26-09-2008, 18:10 44903 σε απάντηση της 44901

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Ναι φυσικά, στην ερώτησή σου για το ADO δεν το χρησιμοποιούμε πλέον αλλά πήγαμε στο ADO.NET

    Για το λόγο αυτό πρότεινα τα δύο παραπάνω sites που ασχολούνται με ADO.NET.

  •  26-09-2008, 18:27 44904 σε απάντηση της 44895

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Και φυσικά δεν ξεχνάμε και το απόλυτο site για connection strings:

    http://www.connectionstrings.com/

    Manos
  •  26-09-2008, 19:11 44905 σε απάντηση της 44904

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Ούτε το θυμάμαι πόσες φορές έχω αναφέρει τα How Do I Video Series (Ενότητα Forms over Data Video Series) που δείχνουν ό,τι χρειάζεται για να ξεκινήσει κάποιος με το data access κομμάτι.


    Vir prudens non contra ventum mingit
  •  27-09-2008, 11:54 44926 σε απάντηση της 44905

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Ευχαριστώ για τις απαντήσεις παιδιά. Θα το ψάξω το θέμα τώρα που δόθηκαν μερικές κατευθύνσεις.

    Το ADO ήταν η μόνη τεχνολογία για την οποία υπήρχαν παραδείγματα και source (ναι, σε VB6, έλεος) οπότε γι αυτό και είπα να δοκιμάσω.
    Τώρα βέβαια μάλλον σε sql server θα είναι η βάση οπότε θα εκμεταλλευτώ το .NET μάλλον. Τα βίντεο που έδωσε ο KelMan επίσης ήταν πολύ χρήσιμα!

    Θα επιστρέψω μάλλον στο μέλλον όταν έχουμε το επόμενο πρόβλημα ή αν δεν μπορέσω με τίποτα πια να προχωρήσω παρακάτω.
  •  27-09-2008, 12:38 44928 σε απάντηση της 44926

    Απ: Σύνδεση Βάσης Δεδομένων μέσω Visual Basic

    Μα καλά, πού κοίταζες? Ο μόνος τρόπος να βρεις πλέον πληροφορίες για το παλιό ADO είναι να έχεις ακόμα το MSDN DVD του 2001! Οποιαδήποτε αναζήτηση για "ADO" στο google θα επιστρέψει μόνο αποτελέσματα για ADO.NET! Εκτός και αν έκανες αναζήτηση για "Recordset" το οποίο απλά δεν υπάρχει στο ADO.NET!


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems