ilectronio Δημοσ. 2 Ιανουαρίου 2014 Δημοσ. 2 Ιανουαρίου 2014 Προσπαθώ εδώ και ώρα να φτιάξω στην VB10 ένα σύστημα που να εφαρμόζει αναζήτηση με βάση κάποια κριτήρια. Έχω την φόρμα Form1.vb που γίνετε αρχική η σύνδεση , όμως μετά θέλω να μου εμφανίζει από την ίδια βάση & τον ίδιο πίνακα τους χρήστες με τα κριτήρια που θέλω.. Έχω φτιάξει και ένα Sub s earch_byName() το οποίο το καλώ απο μία εικόνα. Όμως όταν τρέχω το πρόγραμμα και εφαρμόζω την αναζήτηση κολλάει σε ένα σημείο. Δεν πιστεύω πως είναι θέμα βάσης γιατί πριν καλέσω το Sub() εμφανίζονται όλοι οι χρήστες κανονικά... Δίνω και κάποια Screenshots για βοήθεια..
nilosgr Δημοσ. 2 Ιανουαρίου 2014 Δημοσ. 2 Ιανουαρίου 2014 Μηπως στην search_query_Click() να εσβηνες το Call και να αφηνες σκετο search_name() ;
nucleus Δημοσ. 3 Ιανουαρίου 2014 Δημοσ. 3 Ιανουαρίου 2014 Μα και η showData στο Main_Load και η search_name το ίδιο πράγμα δείχνουν όλους τους πελάτες μιας και το sql query είναι πάντα το ίδιο SELECT * FROM Customers.Δεν κάνει πουθενά αναζήτηση. Πρέπει η search_name να δέχεται σαν όρισμα το όνομα για το οποίο θα ψάξεις και μετά να το περνάει σαν sqlParameter στο query που θα εκτελέσει. http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqldataadapter.html και ειδικότερα το παράδειγμα που έχει στο τμήμα 25.2.3.4.8. SelectCommand Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter Dim da As MySqlDataAdapter = New MySqlDataAdapter() Dim cmd As MySqlCommand Dim parm As MySqlParameter cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=?id AND name=?name", conn) cmd.Parameters.Add("?id", MySqlDbType.VarChar, 15) cmd.Parameters.Add("?name", MySqlDbType.VarChar, 15) da.SelectCommand = cmd Return da End Function Στο παραπάνω παράδειγμα σου φέρνει από τον πίνακα mytable τις εγγραφές που έχουν ένα συγκεκριμένο id και name. Πρέπει ανάλογα να αλλαξεις για τον δικό σου πίνακα,να σου φέρνει όλους τους πελάτες από τον πίνακα Customers που έχουν το συγκεκριμένο όνομα που έβαλε στο textfield αναζήτησης ο χρήστης της εφαρμογής.
ilectronio Δημοσ. 3 Ιανουαρίου 2014 Μέλος Δημοσ. 3 Ιανουαρίου 2014 Φίλε Nucleus δοκιμάζω να καλέσω την συνάρτηση CreateCustomerAdapter αλλά δεν την καλεί. Το Dim parm As MySqlParameter θα χρειαστεί ?
nucleus Δημοσ. 3 Ιανουαρίου 2014 Δημοσ. 3 Ιανουαρίου 2014 Δεν χρειάζεται να καλέσεις την CreateCustomAdapter αυτή είναι μόνο για το παράδειγμα.Κοίτα τι κάνει μέσα σε αυτήν και άλλαξε ανάλογα τον κώδικα της συνάρτησης σου search_nameΑν θες έτοιμη την λύση άνοιξε το spoiler αν θες να το παλέψεις λίγο ακόμα διάβασε και εδώhttp://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparameter.htmlhttp://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparametercollection.html Private Sub search_querry_Click(sender As System.Object,e As System.eventArgs) Handles search_querry... 'ποιό είναι το όνομα του textbox που έχεις βάλει πάνω στην φόρμα σου 'και περιέχει το όνομα της 'αναζήτησης? 'Αυτο πρέπει να βάλεις στην κάτω γραμμή στην θέση του [είμαι placeholder] Dim searchName = [είμαι placeholder].Text search_name(searchName) End sub Μετά περνάμε στις αλλαγές στην search_name Sub search_name(ByVal searchNameTerm As String) ds = New DataSet da = New MySqlDataAdapter("SELECT * FROM customers WHERE name=@name",sqlcon) da.SelectCommand.Parameters.Add("@name", MySqlDbType.VarChar, 15).Value = searchNameTerm da.Fill(ds,"customers") //τα υπόλοιπα παραμένουν τα ίδια End Sub
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα