Récupérer de Multiples domaines à partir de SQL Server dans un service web?

Je m test comment récupérer des données à partir de SQL Server dans le Service Web. Je m à l'aide de SQL Server 2008 R2, asp.net application de service web modèle de projet dans VS 2010.

Disons que j'ai une table qui dispose de 4 colonnes et w/o tout constaints(pour l'intérêt de la conversation).

  • Prénom
  • LastName
  • E-mail
  • Université

Je veux être en mesure d'obtenir toutes les valeurs de ma table SQL si un utilisateur entre la valeur de Prénom. Plus tard je voudrais changer de Prénom pour NTID ou des colonnes.Maintenant mon service web renvoie la valeur unique disons LastName si un utilisateur tape Prénom.

Être un nouveau pour les services web, j'essaie d'apprendre autant que je peux et je serais très reconnaissant de votre temps et d'efforts pour m'aider. TIA.

Où/comment puis-je modifier dans mon code ci-dessous

Voici mes Données de la classe helper

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace EmployeeRecs
{
    public class DataHelper
    {
        //create new method to get Employee record based on First Name
        public static string GetEmployee(string firstName)
        {
            string LastName = "";

            //Create Connection
            SqlConnection con = new SqlConnection (@"Data Source=myDBServer;Initial Catalog=MyDataBase;Integrated Security=true;");

            //Sql Command
            SqlCommand cmd = new SqlCommand("Select LastName from Employees where FirstName ='" + firstName.ToUpper() + "'", con);

            //Open Connection
            con.Open();

            //To Read From SQL Server
            SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    LastName = dr["LastName"].ToString();
                }

            //Close Connection
                dr.Close();
                con.Close();

            return LastName;


        }

    }
}

Et voici mon asmx.cs de la classe

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace EmployeeRecs
{
    ///<summary>
    ///Summary description for Service1
    ///</summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    //To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    //[System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

               //Create new web method to get Employee last name
        [WebMethod]
        public string GetEmployee(string firstName)
        {
            return DataHelper.GetEmployee(firstName);

        }
    }
}
possible d'injection de code sql dans votre code
mieux utiliser les procédures stockées, pas inline requêtes sql
comment? TIA.
SqlCommand cmd = new SqlCommand("mystoredprocedurename", con); cmd.CommandType = CommandType.StoredProcedure;
SqlCommandBuilder.DeriveParameters(vCmd); vCmd.Les paramètres["@prenom"].Valeur = prénom;

OriginalL'auteur Nemo | 2012-07-12