Returning a DataSet From a Web Services: Step-by-Step


Overview

This Example Shows how to create a webservice which returns a DataSet and a Client Which displays the DataSet in a Grid.

Description

This Example Shows how to create a webservice which returns a DataSet and a Client Which displays the DataSet in a Grid.

Source Code

*** WEBSERVICE

Open a New WebService project Lets Call It WebService1
Create a Stock Table on SQL Desktop Edition with the Following Fields
Stock Code,Description,Price(Can be anything you want), and Add some dummy data.
Create a Method as the Code Below

// Put the Code Below in the using Section
using System.Data.SqlClient ;
// this is the Actual Web Method
[WebMethod]
public DataSet GetData()
{
// First Create a New Connection
System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection();
// Now Pass a Connection String To the Connection
sqlConnection1.ConnectionString = "data source=MyServer-001\\SqlServerName;initial catalog=Stock;integrated securi" +
"ty=SSPI;persist security info=False;workstation id=MyServer-001;packet size=40" +
"96";
// Now the Select statement you want to run
string select ="select * from stock ";
// Create an Adapter
SqlDataAdapter da = new SqlDataAdapter(select,sqlConnection1);
// Create a New DataSet
DataSet ds = new DataSet();
// Fill The DataSet With the Contents of the Stock Table
da.Fill(ds , "stock");
// Now Return ds which is a DataSet
return(ds);
}

*****CLIENT

Now For the Client

  1. Open a New Window form Project and Call it WindowsApplication1
  2. Add a DataGrid to the Form. Rename DataGrid1 to dataGrid
  3. Add a Command Button
  4. Now to add a Web reference do the Following.
    In the Solution Explorer Right Click on you application name and Click Add Web Reference.
    A Form is brought up. In the Window Type your Url it would Be
    http://localhost/webservice1/service1.asmx
  5. Now Click on Add Reference Button. you will be brought back to your solution explorer.
  6. Now in the solution explorer under web references Rename localhost to WebDataSet
  7. Now in the Using Section add the Foll Code
    using WindowsApplication1.WebDataSet;
  8. Now in the Button click event add the foll Code
    private void button1_Click(object sender, System.EventArgs e)
    {
    // Init MyService to the Web Service
    Service1 MyService = new Service1();
    // Call the GetData method in the Web Service
    DataSet ds = MyService.GetData();
    // Bind the DataSet to the Grid
    dataGrid.SetDataBinding(ds , "stock");
    }


Similar Articles