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

 

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

Control Textbox1.Text μέσω webservice

Îåêßíçóå áðü ôï ìÝëïò gio1283. Τελευταία δημοσίευση από το μέλος gio1283 στις 08-02-2010, 18:25. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  07-02-2010, 23:45 56992

    Control Textbox1.Text μέσω webservice

    Καλησπέρα σε όλους,

    έχω φτιάξει ένα web service στο οποίο υπάρχει ένα dataset με έναν πίνακα της βάσης μου που έχει στοιχεία χρηστών και στη webmethod έχω γράψει:

    public Users1.UsersDataTable GetUsers(string username)

    {

    Users1.UsersDataTable Users = new Users1.UsersDataTable ();

    Users1TableAdapters.UsersTableAdapter test = new

    Users1TableAdapters.UsersTableAdapter();

    test.Fill(Users);

    return Users;

    }

    Μετά στο web site που έχω δημιουργήσει έχω καλέσει το webservice και θέλω ο χρήστης να δίνει το username σε ενα textbox και με το πάτημα ενός button να ελέγχεται η τιμή και μέσω ενός Gridview να εμφανίζει τις υπόλοιπες στήλες του πίνακα Users(τις οποίες έχω ορίσει στο dataset του webservice)

    Στο gridview παταω objectDataSource δίνω σαν business object το webservice που έχω φτιαξει, μετά επιλέγω τη μέθοδο getUsers κ θέτω control με την τιμή που θα υπάρχει στο textbox1.Text. όμως όταν πατάω το Button εμφανίζονται όλα τα αποτελέσματα του table μου και όχι μόνο για το Username που έδωσε ο χρήστης,

    Πώς μπορώ να το διορθώσω? Ευχαριστώ..

  •  08-02-2010, 15:27 57013 σε απάντηση της 56992

    Απ: Control Textbox1.Text μέσω webservice

    Κάποιος να μπορεί να βοηθήσει;;;

  •  08-02-2010, 15:41 57014 σε απάντηση της 57013

    Απ: Control Textbox1.Text μέσω webservice

    Δημιούργησε άλλη ένα query στο Dataset σου, παράδειγμα getUserData, και βάλε να έχει σαν where clause απο το builder την τιμή του textbox(Where username = @Username) . Δέν ξέρω αν έγινα κατανοητός αλλά λογικά έτσι θα σου εμφανίζει τα στοιχεία του επιλεγμένου μόνο χρήστη και όχι όλων.
  •  08-02-2010, 16:33 57016 σε απάντηση της 57014

    Απ: Control Textbox1.Text μέσω webservice

    Το έκανα αυτό που είπες αλλά πάλι εμφανίζει όλα τα αποτελέσματα.. Το Textbox δεν υπάρχει στο web service οπότε το μόνο που μπορώ να κάνω είναι username διαλέγω control και μετά γράφω @Username αλλά τπτ..

  •  08-02-2010, 16:44 57017 σε απάντηση της 57016

    Απ: Control Textbox1.Text μέσω webservice

    Από τη στιγμή που δεν χρησιμοποιείς πουθενά την παράμετρο username λογικό είναι η Fill να σου επιστρέφει όλα τα δεδομένα. Αν χρησιμοποιείς το dataset designer θα πρέπει να προσθέσεις ένα query στο DataAdapter το οποίο θα δέχεται ως παράμετρο το username και στο SQL του θα φιλτράρει τα δεδομένα με αυτό.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-02-2010, 17:32 57018 σε απάντηση της 57017

    Απ: Control Textbox1.Text μέσω webservice

    Συγχωρήστε με αλλά είναι λίγο καινούρια για μένα αυτά.. Οι ενέργειες που κάνω είναι:

    Πρόσθεσα το εξής query στο dataadapter (το dataset το έχω ονομάσει Username1):

    SELECT       username,Name, Surname,Address
    FROM Users
    WHERE        (username=@username) και ονομάστηκε FillBy,GetDataby(@username)

    και μετά στο  cs του webservice προσθεσα:

    [WebMethod]

    public Username1.UsersDataTable getUsersBy(string username)

    {

    Username1.UsersDataTable Users = new Username1.UsersDataTable();

    Username1TableAdapters.UsersTableAdapter test2 = new

    Username1TableAdapters.UsersTableAdapter();

    test2.Fill(Users);

    return Users;

    }

    όταν όμως τρέχω το ws πάλι εμφανλιζονται όλα τα αποτελεσματα..

    Ξεχνάω κάτι από αυτά που μου λέτε;

     

  •  08-02-2010, 17:43 57019 σε απάντηση της 57018

    Απ: Control Textbox1.Text μέσω webservice

    Αφού έφτιαξες την FillBy, πρέπει να καλέσεις την FillBy, όχι την Fill. Ίσως θα έπρεπε να εξοίκειωθείς πρώτα με το ADO.NET,π.χ. σε μία απλή WinForms εφαρμογή, πριν προχωρήσεις στα Web Services.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-02-2010, 17:52 57020 σε απάντηση της 57019

    Απ: Control Textbox1.Text μέσω webservice

    Οταν γράφω test2.FillBy(); βγάζει error Error 1 No overload for method 'FillBy' takes '0' arguments

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

  •  08-02-2010, 18:04 57022 σε απάντηση της 57020

    Απ: Control Textbox1.Text μέσω webservice

    Γράψε λοιπόν, FillBy(username). Αν δεν περάσεις την παράμετρο πως θα δουλέψει?
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-02-2010, 18:25 57023 σε απάντηση της 57022

    Απ: Control Textbox1.Text μέσω webservice

    Απλά ότι κ αν προσθέσω βγάζει error.. και το username που βάζω.. πάλι το ίδιο..
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems