Use Dataset with Web Service to pass data

Web Service has been around since year 2000. Today I still see people serialize XML to pass data in Web Service in .NET platform. Do not do web services to return data by serializing XML. You can use Dataset to pass the data if your application is only call in .NET platform. It is far simpler than constructing your own XML.


The sample in could be good “How To Use ASP.NET Web Service with FlexiGrid” but it is not a necessary for a .NET platform to write XML serialization for web service in this way. If your application will only use .NET platform you can do it in the way below.


In Web Service end. You can create a WebMethod.


public class WebService1 : System.Web.Services.WebService


  static DataSet GetConnection()


    string connectionString = ConfigurationManager.ConnectionStrings[“oms”].ConnectionString;

    //Create a SqlConnection to the Northwind database.

    SqlConnection connection =

               new SqlConnection(connectionString);


    //Create a SqlDataAdapter for the Suppliers table.

    SqlDataAdapter adapter = new SqlDataAdapter();


    // A table mapping names the DataTable.

    adapter.TableMappings.Add(“Table”, “Customer”);


    // Open the connection.


    //Console.WriteLine(“The SqlConnection is open.”);


    // Create a SqlCommand to retrieve Suppliers data.

    SqlCommand command = new SqlCommand(

        “SELECT * FROM dbo.Customer;”,


    command.CommandType = CommandType.Text;


    // Set the SqlDataAdapter’s SelectCommand.

    adapter.SelectCommand = command;


    // Fill the DataSet.

    DataSet dataSet = new DataSet(“Customer”);



    return dataSet;



  public DataSet GetAllProducts()


    return GetConnection();




In the WebForm UI side with one button and a gridview webcontrol. You can code the button as follow.


protected void GetWSProducts()


  WSProducts.WebService1 proxy = new WSProducts.WebService1();

  DataSet ds = new DataSet();

  ds = proxy.GetAllProducts();


  //Bind grid

  GridView1.DataSource = ds;

  GridView1.DataMember = “Customer”;




protected void Button1_Click(object sender, EventArgs e)





Download the complete code from The sample file name is WebAppWrongAsmx.rar. My MSN ID is

About chanmingman

Since March 2011 Microsoft Live Spaces migrated to Wordpress ( till now, I have is over 1 million viewers. This blog is about more than 50% telling you how to resolve error messages, especial for Microsoft products. The blog also has a lot of guidance teaching you how to get stated certain Microsoft technologies. The blog also uses as a help to keep my memory. The blog is never meant to give people consulting services or silver bullet solutions. It is a contribution to the community. Thanks for your support over the years. Ming Man is Microsoft MVP since year 2006. He is a software development manager for a multinational company. With 25 years of experience in the IT field, he has developed system using Clipper, COBOL, VB5, VB6, VB.NET, Java and C #. He has been using Visual Studio (.NET) since the Beta back in year 2000. He and the team have developed many projects using .NET platform such as SCM, and HR based applications. He is familiar with the N-Tier design of business application and is also an expert with database experience in MS SQL, Oracle and AS 400.
This entry was posted in .Net and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s