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

 

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

Εκτύπωση sql Database σε ένα Web Service

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

    Εκτύπωση sql Database σε ένα Web Service

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

    Είμαι τελείως αρχάρια σε c# και SQL Server και γενικώς δεν κατέχω και πολύ τον προγραμματισμό. Χρησιμοποιώ τη Visual Studio 8, και τον Sql Server 2005. Εχω φτιάξει μια βάση δεδομένων στον SQL και θέλω να καλώ όλα τα στοιχεία μέσω ενός web service που προσπαθώ να γράψω σε c#. Αλλά δεν μπορώ να καταλάβω πως πρέπει να το κάνω, μπορεί κανείς να με βοηθήσει με κάποιο απλό παράδειγμα? Γενικά έψαξα στο  online msdn αλλά δεν βρήκα κάτι να με βοηθήσει,

    Ευχαριστώ πολύ

     

  •  07-11-2008, 12:33 46074 σε απάντηση της 46072

    Re: Εκτύπωση sql Database σε ένα Web Service

    Μάλλον θα πρέπει να γίνεις λίγο πιο συγκεκριμένος :) Θέλεις να φέρνεις όλη την βάση μέσα από το web service, συγκεκριμένους πίνακες ή να εκτελείς παραμετρικά ερωτήματα;

    Είναι πολύ πιθανόν ότι δεν θα βρεις έτοιμο παράδειγμα για αυτό που θέλεις μια και τα παραδείγματα του msdn είναι πιο στοχευμένα (όπως και στα περισσότερα άλλα sites).  Θα σου πρότεινα, αν είσαι εντελώς αρχάριος να ξεχάσεις το web service σε πρώτη φάση γιατί προσθέτει ένα παραπάνω βαθμό πολυπλοκότητας στο εγχείρημα, δοκίμασε να ξεκινήσεις με ένα απλό class που να συνδέεται με την βάση και να τροφοδοτεί ένα dataset με στοιχεία, και στην συνέχεια να το περάσεις σε ένα web page σε κάποια data aware controls για να δεις ότι δουλεύουν όλα.

    Και μετά προχωράς στα services...


    The people of the straight land have really got it made, a warm friendly sleep from the craddle to the grave
  •  07-11-2008, 12:41 46075 σε απάντηση της 46072

    Απ: Εκτύπωση sql Database σε ένα Web Service

    Ένα web service είναι χονδρικά αντίστοιχο με ένα function. Κάνει κάποια λειτουργία, δεν σου δίνει πρόσβαση κάπου. Μπορείς να έχεις έχεις ένα function (ή web service) το οποίο κάνει  Αγορά Μετοχών, Παραγγελία Πίτσας ή Επιλογή Διαγωνιζομένου στο X-Factor. Δεν έχει νόημα να μιλάς για ένα function  θα "καλέσει όλα τα στοιχεία".

    Από την άλλη, αν η ερώτηση σου αφορά άσκηση για τη σχολή, δεν είναι ανάγκηη να έχει νόημα και μπορεί απλά κάποιος καθηγητής να ζήτησε "επιστρέψτε μου όλα τα περιεχόμενα ενός πίνακα μέσω web service". Είναι το ίδιο σαν να ζητάει κάποιος να φτιάξεις ένα function το οποίο θα κάνει την ίδια δουλειά.

    Τί ακριβώς θέλεις να κάνεις?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  07-11-2008, 12:48 46076 σε απάντηση της 46074

    Απ: Re: Εκτύπωση sql Database σε ένα Web Service

    Θέλω να κάνω connect συγκεκριμένο πίνακα με το webservice, π.χ. θέλω τον πίνακα Vathmologia (στήλες: Onoma, epvnymo, Vathmos). Βασικά για να το καταλάβω κάποιος που ήξερε αρχικά μου έφτιαξε ενα ASP.NET Web Service όρισε εκεί μια web method κ μετά δημιουργώντας ένα cosnole application κάλεσε το συγκεκριμένο web Service k κάνοντας debug εκτυπώθηκε το return στην οθόνη. Εγώ θα ήθελα να καλώ το table και με τον ίδιο τρόπο να μου εκτυπώνεται στο cs. Συγχωρέστε με αν δεν γίνομαι κ πολύ κατανοητή αλλά δεν έχω ιδέα και προσπαθώ να το μάθω λόγω δουλειάς..

    Thanks again!!

  •  07-11-2008, 13:01 46077 σε απάντηση της 46076

    Απ: Re: Εκτύπωση sql Database σε ένα Web Service

    Τί εννοείς να σου εκτυπώνεται στο cs ?????? 

    Αυτό που ζητάς σου το έχει ήδη κάνει αυτός που έφτιαξε το console application. Το console application κάπως καλεί το web service και παίρνει τα αποτελέσματα. Το τί θα τα κάνει μετά, είναι δικό σου θέμα. Προφανώς το console application κάνει ένα Console.WriteLine. Αν ο κώδικας με τον οποίο γράφτηκε το console application είναι γραμμένος σε cs, τα αποτελέσματα ήδη εκτυπώνονται από το cs.

    Τί θέλεις να κάνεις? Μή μας λες πως νομίζεις ότι γίνεται αλλά τί θέλεις να κάνεις. Προφανώς ο κώδικας που ήδη έχεις τραβάει τα αποτελέσματα από τη βάση. Τί θέλεις εσύ να κάνεις με αυτά τα αποτελέσματα? Να δείξεις τα αποτελέσματα σε ένα web site? Να τα δείξεις σε μία windows εφαρμογή? Να κάνεις πράξεις? Να τα βάλεις σε ένα αρχείο?

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  07-11-2008, 13:13 46079 σε απάντηση της 46077

    Απ: Re: Εκτύπωση sql Database σε ένα Web Service

    Εγώ έφτιαξα ένα νέο ASP.WEB SERVICE. Δεν μπορώ να βρω τις εντολές να κάνω σωστό connect τη βάση και τι να βάλω στο return ώστε στο άλλο cs μέσω του Console.WriteLine na εκτυπώνεται ο πίνακας μου. Προσπαθώ δηλαδή κάτι τέτοιο:

    using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Data;using System.Data.SqlClient;

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    public class Service : System.Web.Services.WebService

    {

    [WebMethod]

    public string DbArray(string Onoma, string Epwnymo, double Vathmos)

    {

    SqlConnection cn = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestLam;Data Source=hqsuat01");

    DataSet ds = new DataSet();

    SqlDataAdapter adapter = new SqlDataAdapter();

    cn.Open();

    adapter.SelectCommand = new SqlCommand(

    "Select * From Vathmologia", cn);

     adapter.Fill(ds);

     foreach (DataRow dr in ds.Tables[0].Rows)

    {

    for (int i = 0; i < 3; i++)

    {

    return ((string) drIdea);

    }

    }

     

     

     

  •  07-11-2008, 13:27 46080 σε απάντηση της 46079

    Απ: Re: Εκτύπωση sql Database σε ένα Web Service

    Δηλαδή το web service που σου έφτιαξαν δεν επέστρεφε κάτι από τη βάση, απλά επέστρεφε μία χύμα τιμή?

    Άσχετα από αυτό, ο κώδικας που έχεις γράψει παραπάνω επιστρέφει μονάχα την τιμή του πρώτου πεδίου της πρώτης γραμμής των αποτελεσμάτων. Δοκίμασε αντί για web service να αντιγράψεις τη μέθοδο αυτή μέσα στο console application σου και θα το δεις.

    Ο λόγος είναι ότι όταν καλείς τη return σταματάει να εκτελείται και το function. Έτσι το μόνο που θα επιστραφεί είναι το πρώτο πεδίο της πρώτης γραμμής. Ίσως αντί να προσπαθείς να φτιάξεις web service θα πρέπει πρώτα να δοκιμάσεις να κάνεις την ίδια δουλειά με ένα function μέσα στο console application σου. Όταν καταφέρεις να δουλέψει το function προχώρα και στο πως θα φτιαχτεί το web service.

    Μπορείς πάντως να εκμεταλλευτείς το γεγονός ότι ένα DataSet μπορεί να επιστραφεί απευθείας από ένα web service. Αντί να προσπαθείς να επιστρέψεις τις τιμές μία-μία, μπορείς να επιστρέψεις απευθείας το ds. Αφού βέβαια αλλάξει το return type από string σε DataSet.


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