加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex4 + WebService + SQLServer2005写的登录程序

发布时间:2020-12-15 04:42:39 所属栏目:百科 来源:网络整理
导读:????????????????????? Flex4 + WebService + SQLServer2005写的登录程序 ?? ?声明:由于操作时忘记截图,第二部分的图形是在网站上所截取的,下面的代码也是参考网上所写的。写文档的目的是: 1. 用于做笔记备忘???? 2. 供大家共同学习! 第一部分:建库,
????????????????????? Flex4 + WebService + SQLServer2005写的登录程序

???声明:由于操作时忘记截图,第二部分的图形是在网站上所截取的,下面的代码也是参考网上所写的。写文档的目的是:1.用于做笔记备忘????2.供大家共同学习!

第一部分:建库,建表

?第一步:在SQLServer2005中建立test数据

?第二步:在test数据库下建立T_Users表,字段为:userName?varchar(20);?userPass?varchar(20);

?第三步:在表中添加数据为?admin,admin

第二部分:编写WebService程序

VS2005中建立一个ASP.NET?Web服务

第一步:文件-->新建-->网站


第二步:选择ASP.Net?Web服务


第三步:写代码

代码如下:

using?System;

using?System.Web;

using?System.Web.Services;

using?System.Web.Services.Protocols;

using?System.Data;

using?System.Data.SqlClient;

[WebService(Namespace?=?"http://tempuri.org/")]???????//默认情况下的命名空间,只用于开发阶段,实际发布是最好更改

[WebServiceBinding(ConformsTo?=?WsiProfiles.BasicProfile1_1)]

public?class?Service?:?System.Web.Services.WebService

{

????public?Service?()?{?}?????????????//默认生成的一个HelloWorld()方法

????[WebMethod]

????public?string?HelloWorld()?{

????????return?"Hello?World";

????}

????[WebMethod]

????public?string?getConnection(string?sql)???????//自定义一个WebService方法,模拟登陆

????{

????????SqlConnection?conn?=?new?SqlConnection("Data?Source=.;?Initial?Catalog=test;?uid=sa;?pwd=by3g");

????????SqlDataAdapter?da?=?new?SqlDataAdapter(sql,?conn);

????????DataSet?ds?=?new?DataSet();

????????da.Fill(ds);

????????return?ds.GetXml();

????}

}

第四步:编译-->运行-->记录下网址

网址为http://localhost:16524/web/Service.asmx?WSDL

第三部分:编写Flex程序

Flex中的代码WebService.mxml

<?xml?version="1.0"?encoding="utf-8"?>

<s:Application?xmlns:fx="http://ns.adobe.com/mxml/2009"?

???xmlns:s="library://ns.adobe.com/flex/spark"?

???xmlns:mx="library://ns.adobe.com/flex/mx"?minWidth="955"?minHeight="600">

<fx:Script>

<![CDATA[

import?mx.controls.Alert;

import?mx.rpc.events.ResultEvent;

[Bindable]

public?var?getResultXML:XML?=?new?XML();?//定义一个变量用来接收数据

public?var?isSucceed:Boolean?=?new?Boolean(false);?//定义一个变量用来判断是否登录成功

private?function?btn_resetClickHandle():void{

text_userName.text?=?"?";

text_userPass.text?=?"?";

}

private?function?btn_loginClickHandle():void{

if(this.text_userName.text==""?||?this.text_userPass.text=="")

{

Alert.show("用户名和密码不能为空");

return?;

}

else

{

//把信息封装起来

var?strSQL:String?=?"select?*?from??T_Users?where?userName='"+this.text_userName.text+"'?and?userPass='"+this.text_userPass.text+"'";

//调用WebService里自定义的方法getConnection(string?sql);

????this.WebServiceTest.getConnection(strSQL);

}

}

private?function?onResult(event:ResultEvent):void{

getResultXML=XML(event.result);

if(getResultXML.toString().length>0)

{

var?strNickName:String=XML(event.result.toString()).Table.NickName.toString();

this.isSucceed?=?true;

Alert.show("欢迎你"+strNickName,"登录成功");

}

else

{

Alert.show("登录失败","错误");

return;

}

}

]]>

</fx:Script>

???

<fx:Declarations>

<!--?将非可视元素(例如服务、值对象)放在此处?-->

<mx:WebService?id="WebServiceTest"?

???wsdl="http://localhost:16524/web/Service.asmx?WSDL"?

???useProxy="false"

???fault="Alert.show(event.fault.faultString),'出错了'"

???result="onResult(event)">

<mx:operation?name="HelloWorld"/>?

<mx:operation?name="getConnection"/>

</mx:WebService>

</fx:Declarations>

<s:Panel?x="117"?y="101"?width="277"?height="214"?color="#2D39E0"?title="登录窗口">

<s:Label?x="21"?y="28"?height="16"?text="帐号:"/>

<s:Label?x="21"?y="61"?width="36"?height="19"?text="密码:"/>

<s:TextInput?id="text_userName"?x="68"?y="22"?width="133"/>

<s:TextInput?id="text_userPass"?x="68"?y="56"?width="134"?displayAsPassword="true"/>

<s:Button?id="btn_login"?x="19"?y="112"?width="59"?height="33"?label="登录"?click="btn_loginClickHandle()"/>

<s:Button?id="btn_reset"?x="145"?y="112"?width="60"?height="33"?label="重置"?click="btn_resetClickHandle()"/>

</s:Panel>

</s:Application>

注:


第四部分:测试程序

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读