1、Android调用Aspnet的WebService实例ANDROID 调用 ASP.NET 的WEBSERVICE 实例ASP.Net WebService程序代码:VS2008using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using System.Data;using System.Data.SqlClient;namespace RepairWebService / / WebService 的摘要说明 / WebServ
2、ice(Namespace = http:/tempuri.org/) WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) System.ComponentModel.ToolboxItem(false) / 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 System.Web.Script.Services.ScriptService public class WebService : System.Web.Services.WebService / / 数据库连接字符串 / pu
3、blic string connstr = SqlHelper.ConnectionStringLocalTransaction; WebMethod public string HelloWorld() return Hello World; WebMethod public UsersModel GetPwdByName(string name) UsersModel model = null; string strsql = select * from users where name=+name+; SqlDataReader dr=SqlHelper.ExecuteReader(co
4、nnstr, CommandType.Text, strsql, null); if (dr.Read() model = new UsersModel(); model.Id = dr.GetInt32(0); model.Name = dr.GetString(1); model.Pwd = dr.GetString(2); return model; WebMethod public List GetRepairsList() List list = new List(); string str = select * from repairs; SqlDataReader dr = Sq
5、lHelper.ExecuteReader(connstr, CommandType.Text, str, null); while (dr.Read() RepairsModel model = new RepairsModel(); model.Id = dr.GetInt32(0); model.RepairId = dr.GetString(1); model.RepairName = dr.GetString(2); model.RepairDate = dr.GetDateTime(3); model.RepairStateId = dr.GetInt32(4); model.Us
6、erId = dr.GetInt32(5); list.Add(model); return list; Users实体类using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace RepairWebService public class UsersModel private int id; public int Id get return id; set id = value; private string name; public string Name get re
7、turn name; set name = value; private string pwd; public string Pwd get return pwd; set pwd = value; Repairs实体类using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace RepairWebService public class RepairsModel private int id; public int Id get return id; set id = va
8、lue; private string repairName; public string RepairName get return repairName; set repairName = value; SqlHelper类using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data.SqlClient;using System.Data;using System.Collections;using System.Configuration;namespa
9、ce RepairWebService public class SqlHelper /获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改 public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings1.ConnectionString; / 哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。 private static Hashtable parmCache = Hashtable.Synchronize
10、d(new Hashtable(); / /执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。 / 使用参数数组形式提供参数列表 / / / 使用示例: / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的数据库连接字符串 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlComma
11、nd命令中用到的参数列表 / 返回一个数值表示此SqlCommand命令执行后影响的行数 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connectionString) /通过PrePareCommand方法将参
12、数逐个加入到SqlCommand的参数集合中 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); /清空SqlCommand中的参数列表 cmd.Parameters.Clear(); return val; / /执行一条不返回结果的SqlCommand,通过一个已经存在的数据库连接 / 使用参数数组提供参数 / / / 使用示例: / int result = ExecuteNonQuery(conn, CommandType.Store
13、dProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个现有的数据库连接 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个数值表示此SqlCommand命令执行后影响的行数 public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params Sql
14、Parameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 执行一条不返回结果的SqlCommand,通过一个已经存在的数据库事物处理 / 使用参数数组提供参数 / / / 使用示例: / int result = ExecuteNo
15、nQuery(trans, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的 sql 事物处理 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个数值表示此SqlCommand命令执行后影响的行数 public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdT
16、ype, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 执行一条返回结果集的SqlCommand命令,通过专用的连接字符串。 / 使用参数数组提供参数 /
17、 / / 使用示例: / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的数据库连接字符串 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个包含结果的SqlDataReader public static SqlDataReader ExecuteRe
18、ader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在, /CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catc
19、h捕获。 /关闭数据库连接,并通过throw再次引发捕捉到的异常。 try PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return rdr; catch conn.Close(); throw; / / 执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。 / 使用参数数组提供参数
20、/ / / 使用示例: / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的数据库连接字符串 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个object类型的数据,可以通过 Convert.ToType方法转换类型 public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlC
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2