Προς το περιεχόμενο

VB.NET Multiple Queries


Προτεινόμενες αναρτήσεις

Δημοσ.

Προσπαθώ εδώ και ώρα να φτιάξω στην VB10 ένα σύστημα που να εφαρμόζει αναζήτηση

με βάση κάποια κριτήρια. Έχω την φόρμα Form1.vb που γίνετε αρχική η σύνδεση ,

όμως μετά θέλω να μου εμφανίζει από την ίδια βάση & τον ίδιο πίνακα τους χρήστες

με τα κριτήρια που θέλω..

 

Έχω φτιάξει και ένα Sub s earch_byName()  το οποίο το καλώ απο μία εικόνα.

Όμως όταν τρέχω το πρόγραμμα και εφαρμόζω την αναζήτηση κολλάει

σε ένα σημείο. Δεν πιστεύω πως είναι θέμα βάσης γιατί πριν καλέσω

το Sub() εμφανίζονται όλοι οι χρήστες κανονικά...

 

 

Δίνω και κάποια Screenshots για βοήθεια..

post-263708-0-86176500-1388687308_thumb.jpg

post-263708-0-72332100-1388687311_thumb.jpg

post-263708-0-57424200-1388687313_thumb.jpg

Δημοσ.

Μα και η 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 αναζήτησης ο χρήστης της εφαρμογής.

Δημοσ.

Δεν χρειάζεται να καλέσεις την CreateCustomAdapter αυτή είναι μόνο για το παράδειγμα.Κοίτα τι κάνει μέσα σε αυτήν και άλλαξε ανάλογα τον κώδικα της συνάρτησης σου search_name

Αν θες έτοιμη την λύση άνοιξε το spoiler αν θες να το παλέψεις λίγο ακόμα διάβασε και εδώ

http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparameter.html

http://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

 

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...