VS2013开发asmx接口根据ID查询对象

代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace WebServiceTest
{
    /// <summary>
    /// Test 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class Test : System.Web.Services.WebService
    {

        [WebMethod]
        public int Test1(int a,int b)
        {
            return a+b;
        }
        [WebMethod]
        public int Test2(int a, int b)
        {
            return a - b;
        }
        [WebMethod]
        public XmlDocument Test3(int a, int b)
        {
         string xmlstr = "<nm values='" + a + "' date='2014-1-2' count='14' page='" + b + "'>"
          + "<domain>张三</domain>"
          + "<domain>张三</domain>"
          + "<domain>张三</domain>"
          + "<domain>张三</domain>"

          + "</nm>";
            //关键
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.LoadXml(xmlstr);
            return XmlDoc;
        }
        [WebMethod]
        public XmlDocument GetStudentById(int a)
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = "server=.;database=Test;uid=sa;pwd=sa";
            con.Open();
            //创建数据库命令  
                SqlCommand cmd = con.CreateCommand();  
                //创建查询语句  
                cmd.CommandText = "SELECT * FROM stu_test where stu_id="+a;  
                //从数据库中读取数据流存入reader中  
                SqlDataReader reader = cmd.ExecuteReader();                 
                //从reader中读取下一行数据,如果没有数据,reader.Read()返回flase  
                Hashtable ht = new Hashtable();
                while (reader.Read())  
                {  
                    //reader.GetOrdinal("id")是得到ID所在列的index,  
                    //reader.GetInt32(int n)这是将第n列的数据以Int32的格式返回  
                    //reader.GetString(int n)这是将第n列的数据以string 格式返回  
                    int stu_id = reader.GetInt32(reader.GetOrdinal("stu_id"));  
                    string stu_name = reader.GetString(reader.GetOrdinal("stu_name"));  
                    int stu_age = reader.GetInt32(reader.GetOrdinal("stu_age"));
                    string stu_class= reader.GetString(reader.GetOrdinal("stu_class"));  
                    //格式输出数据  
                   
                    ht.Add("stu_id",stu_id); 
                    ht.Add("stu_name", stu_name);
                    ht.Add("stu_age", stu_age);
                    ht.Add("stu_class", stu_class);
                }

                Object stu_id1 = ht["stu_id"].ToString();
                Object stu_name1 = ht["stu_name"].ToString();
                Object stu_age1 =  ht["stu_age"].ToString();
                Object stu_class1 = ht["stu_class"].ToString();
            string xmlstr = "<student stu_id='" + a + "' date='2014-1-2'>"

             + "<stu_name>" + stu_name1 + "</stu_name>"
             + "<stu_age>" + stu_age1 + "</stu_age>"
             + "<stu_class>" + stu_class1 + "</stu_class>"
             + "</student>";
            //关键
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.LoadXml(xmlstr);
            return XmlDoc;
        }
    }
}

 

测试

结果如下图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值