




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 的摘要说明 / WebService(Namespace = /) 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 / / 数据库连接字符串 / public 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(connstr, 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 = SqlHelper.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.UserId = 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 return 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 = value; 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;namespace RepairWebService public class SqlHelper /获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改 public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings1.ConnectionString; / 哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。 private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable(); / /执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。 / 使用参数数组形式提供参数列表 / / / 使用示例: / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的数据库连接字符串 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个数值表示此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方法将参数逐个加入到SqlCommand的参数集合中 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); /清空SqlCommand中的参数列表 cmd.Parameters.Clear(); return val; / /执行一条不返回结果的SqlCommand,通过一个已经存在的数据库连接 / 使用参数数组提供参数 / / / 使用示例: / int result = ExecuteNonQuery(conn, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个现有的数据库连接 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个数值表示此SqlCommand命令执行后影响的行数 public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 执行一条不返回结果的SqlCommand,通过一个已经存在的数据库事物处理 / 使用参数数组提供参数 / / / 使用示例: / int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的 sql 事物处理 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个数值表示此SqlCommand命令执行后影响的行数 public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, 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命令,通过专用的连接字符串。 / 使用参数数组提供参数 / / / 使用示例: / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的数据库连接字符串 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个包含结果的SqlDataReader public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在, /CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。 /关闭数据库连接,并通过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命令,通过专用的连接字符串。 / 使用参数数组提供参数 / / / 使用示例: / 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 SqlCommand(); using (SqlConnection connection = new SqlConnection(connectionString) PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / / 执行一条返回第一条记录第一列的SqlCommand命令,通过已经存在的数据库连接。 / 使用参数数组提供参数 / / / 使用示例: / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个已经存在的数据库连接 / SqlCommand命令类型 (存储过程, T-SQL语句, 等等。) / 存储过程的名字或者 T-SQL 语句 / 以数组形式提供SqlCommand命令中用到的参数列表 / 返回一个object类型的数据,可以通过 Convert.ToType方法转换类型 public static object ExecuteScalar(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / / 缓存参数数组 / / 参数缓存的键值 / 被缓存的参数列表 public static void CacheParameters(string cacheKey, params SqlParameter commandParameters) parmCachecacheKey = commandParameters; / / 获取被缓存的参数 / / 用于查找参数的KEY值 / 返回缓存的参数数组 public static SqlParameter GetCachedParameters(string cacheKey) SqlParameter cachedParms = (SqlParameter)parmCachecacheKey; if (cachedParms = null) return null; /新建一个参数的克隆列表 SqlParameter clonedParms = new SqlParametercachedParms.Length; /通过循环为克隆参数列表赋值 for (int i = 0, j = cachedParms.Length; i j; i+) /使用clo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动法试题库及答案
- 中国烟草模拟面试题及答案
- 校园伴舞基础知识培训课件
- 2025年桂林市第十三中学教师招聘考试笔试试题(含答案)
- 2025年甘肃社区工作者村文书招聘考试笔试试题(含答案)
- 2025年大连中山区招聘社区工作者考试笔试试题(含答案)
- 2025中级经济师《经济基础》试题库(参考答案)
- 2024年时事政治必考题库(有答案)
- 危险化学品控制试题(附答案)
- 三类射线装置辐射工作人员考试题模板
- 供应链金融业务管理办法
- 岩土工程勘察服务投标方案(技术方案)
- 初升高英语测试卷(含答案)
- 单向板肋梁楼盖设计计算书
- 泸西县长润冶炼有限公司2x2.55万千伏安铁合金矿热炉技改建设项目环评报告
- 吉林大学 人工智能原理 下
- 特殊教育概论第二版PPT完整全套教学课件
- 身份证地区对应码表
- 洗车场专项施工方案
- 中药饮片采购配送服务投标方案
- 腹痛 针灸治疗
评论
0/150
提交评论