Android调用Aspnet的WebService实例Word文件下载.docx
《Android调用Aspnet的WebService实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android调用Aspnet的WebService实例Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
///WebService的摘要说明
/summary>
[WebService(Namespace="
http:
//tempuri.org/"
)]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
//若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
publicclassWebService:
System.Web.Services.WebService
{
///数据库连接字符串
publicstringconnstr=SqlHelper.ConnectionStringLocalTransaction;
[WebMethod]
publicstringHelloWorld()
return"
HelloWorld"
;
}
publicUsersModelGetPwdByName(stringname)
UsersModelmodel=null;
stringstrsql="
select*fromuserswherename='
"
+name+"
'
SqlDataReaderdr=SqlHelper.ExecuteReader(connstr,CommandType.Text,strsql,null);
if(dr.Read())
model=newUsersModel();
model.Id=dr.GetInt32(0);
model.Name=dr.GetString
(1);
model.Pwd=dr.GetString
(2);
returnmodel;
publicList<
RepairsModel>
GetRepairsList()
List<
list=newList<
();
stringstr="
select*fromrepairs"
SqlDataReaderdr=SqlHelper.ExecuteReader(connstr,CommandType.Text,str,null);
while(dr.Read())
RepairsModelmodel=newRepairsModel();
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);
returnlist;
}
Users实体类
publicclassUsersModel
privateintid;
publicintId
get{returnid;
set{id=value;
privatestringname;
publicstringName
get{returnname;
set{name=value;
privatestringpwd;
publicstringPwd
get{returnpwd;
set{pwd=value;
Repairs实体类
publicclassRepairsModel
privatestringrepairName;
publicstringRepairName
get{returnrepairName;
set{repairName=value;
SqlHelper类
usingSystem.Collections;
usingSystem.Configuration;
publicclassSqlHelper
//获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改
publicstaticreadonlystringConnectionStringLocalTransaction=ConfigurationManager.ConnectionStrings[1].ConnectionString;
//哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。
privatestaticHashtableparmCache=Hashtable.Synchronized(newHashtable());
///执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。
///使用参数数组形式提供参数列表
remarks>
///使用示例:
///
intresult=ExecuteNonQuery(connString,CommandType.StoredProcedure,"
PublishOrders"
newSqlParameter("
@prodid"
24));
/remarks>
paramname="
connectionString"
>
一个有效的数据库连接字符串<
/param>
commandType"
SqlCommand命令类型(存储过程,T-SQL语句,等等。
)<
commandText"
存储过程的名字或者T-SQL语句<
commandParameters"
以数组形式提供SqlCommand命令中用到的参数列表<
returns>
返回一个数值表示此SqlCommand命令执行后影响的行数<
/returns>
publicstaticintExecuteNonQuery(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParameter[]commandParameters)
SqlCommandcmd=newSqlCommand();
using(SqlConnectionconn=newSqlConnection(connectionString))
//通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中
PrepareCommand(cmd,conn,null,cmdType,cmdText,commandParameters);
intval=cmd.ExecuteNonQuery();
//清空SqlCommand中的参数列表
cmd.Parameters.Clear();
returnval;
///执行一条不返回结果的SqlCommand,通过一个已经存在的数据库连接
///使用参数数组提供参数
intresult=ExecuteNonQuery(conn,CommandType.StoredProcedure,"
conn"
一个现有的数据库连接<
publicstaticintExecuteNonQuery(SqlConnectionconnection,CommandTypecmdType,stringcmdText,paramsSqlParameter[]commandParameters)
PrepareCommand(cmd,connection,null,cmdType,cmdText,commandParameters);
///执行一条不返回结果的SqlCommand,通过一个已经存在的数据库事物处理
intresult=ExecuteNonQuery(trans,CommandType.StoredProcedure,"
trans"
一个存在的sql事物处理<
publicstaticintExecuteNonQuery(SqlTransactiontrans,CommandTypecmdType,stringcmdText,paramsSqlParameter[]commandParameters)
PrepareCommand(cmd,trans.Connection,trans,cmdType,cmdText,commandParameters);
///执行一条返回结果集的SqlCommand命令,通过专用的连接字符串。
SqlDataReaderr=ExecuteReader(connString,CommandType.StoredProcedure,"
返回一个包含结果的SqlDataReader<
publicstaticSqlDataReaderExecuteReader(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParameter[]commandParameters)
SqlConnectionconn=newSqlConnection(connectionString);
//在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在,
//CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。
//关闭数据库连接,并通过throw再次引发捕捉到的异常。
try
SqlDataReaderrdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
returnrdr;
catch
conn.Close();
throw;
///执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
Objectobj=ExecuteScalar(connString,CommandType.StoredProcedure,"
返回一个object类型的数据,可以通过Convert.To{Type}方法转换类型<
publicstaticobjectExecuteScalar(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParameter[]commandParameters)
SqlCommandcmd=newSqlC