博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用WebService 引入DataTable格式数据

Posted on 2010-05-14 11:17  遗忘地角落  阅读(773)  评论(0编辑  收藏  举报

刚刚研究下WebService,先做个引数据库表数据的实例.

 

 

我的WebService.cs代码:

 

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


/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{

    public WebService()
    {

        //如果使用设计的组件,请取消注释以下行
        //InitializeComponent();
    }

    //数据库连接字符串
    private string sqlConnectionCommand = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
    //private string dataTableName = "Test";
    private string id = "";
    private string name = "";

    [WebMethod]
    public DataTable GetInfo()
    {

        SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
        sqlConnection.Open();
        SqlCommand sqlCommand = new SqlCommand();
        sqlCommand.Connection = sqlConnection;
        sqlCommand.CommandText = "GetTest";
        sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;

        SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
        DataTable dt = new DataTable();
        dt.Columns.Add("ID", typeof(string));
        dt.Columns.Add("Name", typeof(string));
        dt.TableName = "TestDate";

        while (sqlDataReader.Read())
        {
            id = Convert.ToString(sqlDataReader["ID"]);
            name = Convert.ToString(sqlDataReader["Name"]);
            dt.Rows.Add(id, name);
        }
        sqlDataReader.Close();
        sqlCommand.Dispose();
        sqlConnection.Close();
        return dt;
    }

}

 

新建一个网站,在此网站添加Web引用,引入上面的WebService.asmx地址,在后台页面就可以实例化它并引用了.

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {

        //add:Web引用名称
        add.WebService web = new add.WebService();
        DataTable dt = web.GetInfo();

        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}