ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:19.57KB ,
资源ID:4209223      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4209223.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(flash与数据库读取数据库数据.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

flash与数据库读取数据库数据.docx

1、flash与数据库读取数据库数据今天,天气依旧很热。整个房间像火炉一般炽热。今天来写写这方面的笔记,做个实验。看看如何运作,首先来讲这方面需要准备一些资料。就是关于数据库方面资料。因为手上资料很少,很多事情都是需要一步步探索。flash 不能直接和数据库进行交互(除air 之外),故此我们需要找一种平台搭配一些协作开发。目前很多流行的方案是多种多样,每一个家公司用的服务器都有所不同。据一些同事介绍, 搭配平台如下(1):java +flash +mysql 组合开发 (2):c+ +flash+sql组合开发 (3):php +flash+mysql 组合开发 还有FMS ,等等更多组合. f

2、lash 只是用于前端显示数据和交互,大部分交互数据方面需要借助其他语言帮助 目前而言mysql 已经可以满足很多开发公司,除非有特别需求动用到oracle 甲骨文这样的大型数据,但无论怎样组合目的就是要实现到产品。 好,现在开始做实验了。需要准备的材料是:java sdk tomcat ,mysql等一些工具。准备好之后,开始一步步摸索怎样交互。 我的目的是读取到数据库的数据。 当中实验当中遇到问题是(1) 怎样利用读取数据库的资料? (2) 怎样返回数据给flash接收? (3) 采用什么方式格式来交互? (4) 格式应该如何选择?xml json 字符串?等 (5) 应该如何显示数据?

3、接下来,尝试实验第一种方式,也是最简单,最傻瓜的方式,我所知道的就是这样水平,所以要将这个实验带入一个开始阶段将不会掺杂更多完善的设计。出发的过程就需要尽量简单化。(O(_)O哈哈) 初步意向: flash 发送数据-服务端 - 数据库 flash 接收数据-服务器-数据库 要进行这样,我们需要采用 包下URLLoader 进行发送数据(而flex 就采用Http 组件或者其他远程访问)。准备好之后,我们拥有的条件已经可以进行一个简单的发送了。 封装一个发送数据的类。用于交互 发送 创建news表 手动设计表:设置两个项 一个是id 另外一个 是title 这样的数据项。如图所示。 数据库名称

4、为test ,表名为news 。 然后 手动为表添加一些数据入去。 测试数据库是否成功和数据库交互: 添加完数据库后,在这里会使用jsp 进行测试,而这种方式比较笨拙,而且效率不高,一般不会这样使用,但是这样做好处是为了省下时间做快速设计。而我们所在水平是如何,这些并不重要,关键是要适合我们,在方法当中寻找过程解决方案。这些才重要。技术水平因人而异 而其他更加优秀的做法,有一些人会严格使用框架技术,这样操作和链接数据库在效率提升不少。下面是已经链接到数据库的测试。 view plaincopy to clipboardprint? % Connection con = null; try Cl

5、ass.forName(com.mysql.jdbc.Driver); String dbUrl = jdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=utf-8; String dbUser = root; String dbPwd = 123; String sql=select * from news; con = DriverManager.getConnection(dbUrl,dbUser,dbPwd); out.print(已连接。); catch(Exception ex) out.print(连

6、接失败!+ex.toString(); % % Connection con = null; try Class.forName(com.mysql.jdbc.Driver); String dbUrl = jdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=utf-8; String dbUser = root; String dbPwd = 123; String sql=select * from news; con = DriverManager.getConnection(dbUrl,dbUser,dbP

7、wd); out.print(已连接。); catch(Exception ex) out.print(连接失败!+ex.toString(); % 数据库测试成功之后,我们需要的工作就是利用SQL 语句,查询数据并输出。jsp做法是 sql语句:String sql=select * from news; 创建一个Statement 对象,通过执行executeQuery返回。 Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(sql); /执行查询 查询的结果集,采用循环输出来 while(rs.nex

8、t() msg+=rs.getString(title)+#; out.clear(); out.print(newList=+msg); 你会看到一系列的数据出现了 view plaincopy to clipboardprint? % Connection con = null; try Class.forName(com.mysql.jdbc.Driver); String dbUrl = jdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=utf-8; String dbUser = root; Strin

9、g dbPwd = 123; String sql=select * from news; con = DriverManager.getConnection(dbUrl,dbUser,dbPwd); out.print(已连接。); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(sql); /执行查询 String msg=; while(rs.next() msg+=rs.getString(title)+#; out.clear(); out.print(newList=+msg); stmt.c

10、lose(); con.close(); catch(Exception ex) out.print(连接失败!+ex.toString(); % % Connection con = null; try Class.forName(com.mysql.jdbc.Driver); String dbUrl = jdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=utf-8; String dbUser = root; String dbPwd = 123; String sql=select * from news

11、; con = DriverManager.getConnection(dbUrl,dbUser,dbPwd); out.print(已连接。); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(sql); /执行查询 String msg=; while(rs.next() msg+=rs.getString(title)+#; out.clear(); out.print(newList=+msg); stmt.close(); con.close(); catch(Exception ex) out

12、.print(连接失败!+ex.toString(); % 输出数据: 这里是由于在数据库预先插入去了。(方式依旧是人工和手动设计。呵呵) flash接收数据 接下来,我们就需要解决发送的问题?问题是 怎样发送数据到flash客户端? 发送的 方式是多种多样,当中可以是名称/值 的方式发送,也可以按xml ,json 还有其他格式发送。 这里是从数据库接收到的数据。并显示出来的 按实验来进行一步步来制作。 封装一个类,进行发送数据 view plaincopy to clipboardprint? /用于与网页通信的类 package org.summerT import .URLLoader

13、; import .URLRequest; import flash.events.*; import .URLVariables; import .URLLoaderDataFormat; import .*; public class HttpConnection extends EventDispatcher public static const VARIABLES:String=URLLoaderDataFormat.VARIABLES; public static const BINARY:String=URLLoaderDataFormat.BINARY; public stat

14、ic const TEXT:String=URLLoaderDataFormat.TEXT; public function HttpConnection() /* *para 设置发送数据的 *http_url 设置发送数据的方式连接地址 *type post and get *format 格式 */ public function sendMessage(para:Object,http_url:String,type:String=post,format:String=VARIABLES):void var request:URLRequest=new URLRequest(); re

15、quest.data=para; request.url=http_url; switch (type) case post : request.method=URLRequestMethod.POST;/发送的方式 break; case get : request.method=URLRequestMethod.GET;/发送的方式 break; /发送数据 var loader:URLLoader=new URLLoader(); switch (format) case VARIABLES : loader.dataFormat=URLLoaderDataFormat.VARIABLE

16、S;/发送数据的格式 break; case BIN : loader.dataFormat=URLLoaderDataFormat.BINARY;/发送二进制数据的格式 break; case TEXT : loader.dataFormat=URLLoaderDataFormat.TEXT;/发送文本数据的格式 break; loader.addEventListener(Event.COMPLETE,completeHandler); loader.addEventListener(IOErrorEvent.IO_ERROR ,IoHandler); try loader.load(re

17、quest); catch (e:Error) throw new Error(e); private function completeHandler(e:Event):void /处理返回的结果,如果插入数据库成功那么就可以 var evt:ConnectionEvent=new ConnectionEvent(ConnectionEvent.COMPLETE); evt.data=URLLoader(e.target); this.dispatchEvent(evt); private function IoHandler(e:Event):void this.dispatchEvent

18、(new ConnectionEvent(ConnectionEvent.WRONG); /用于与网页通信的类 package org.summerT import .URLLoader; import .URLRequest; import flash.events.*; import .URLVariables; import .URLLoaderDataFormat; import .*; public class HttpConnection extends EventDispatcher public static const VARIABLES:String=URLLoaderDa

19、taFormat.VARIABLES; public static const BINARY:String=URLLoaderDataFormat.BINARY; public static const TEXT:String=URLLoaderDataFormat.TEXT; public function HttpConnection() /* *para 设置发送数据的 *http_url 设置发送数据的方式连接地址 *type post and get *format 格式 */ public function sendMessage(para:Object,http_url:Stri

20、ng,type:String=post,format:String=VARIABLES):void var request:URLRequest=new URLRequest(); request.data=para; request.url=http_url; switch (type) case post : request.method=URLRequestMethod.POST;/发送的方式 break; case get : request.method=URLRequestMethod.GET;/发送的方式 break; /发送数据 var loader:URLLoader=new

21、 URLLoader(); switch (format) case VARIABLES : loader.dataFormat=URLLoaderDataFormat.VARIABLES;/发送数据的格式 break; case BIN : loader.dataFormat=URLLoaderDataFormat.BINARY;/发送二进制数据的格式 break; case TEXT : loader.dataFormat=URLLoaderDataFormat.TEXT;/发送文本数据的格式 break; loader.addEventListener(Event.COMPLETE,co

22、mpleteHandler); loader.addEventListener(IOErrorEvent.IO_ERROR ,IoHandler); try loader.load(request); catch (e:Error) throw new Error(e); private function completeHandler(e:Event):void /处理返回的结果,如果插入数据库成功那么就可以 var evt:ConnectionEvent=new ConnectionEvent(ConnectionEvent.COMPLETE); evt.data=URLLoader(e.

23、target); this.dispatchEvent(evt); private function IoHandler(e:Event):void this.dispatchEvent(new ConnectionEvent(ConnectionEvent.WRONG); 其次: view plaincopy to clipboardprint? /用于通信连接的事件类 package org.summerT import flash.events.Event; import .*; public class ConnectionEvent extends Event public stat

24、ic const COMPLETE:String=complete; public var data:URLLoader; public static const WRONG:String=wrong; public function ConnectionEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false) super(type,false,false); override public function clone():Event return new ConnectionEvent(type,false,fals

25、e); /用于通信连接的事件类 package org.summerT import flash.events.Event; import .*; public class ConnectionEvent extends Event public static const COMPLETE:String=complete; public var data:URLLoader; public static const WRONG:String=wrong; public function ConnectionEvent(type:String,bubbles:Boolean=false,canc

26、elable:Boolean=false) super(type,false,false); override public function clone():Event return new ConnectionEvent(type,false,false); view plaincopy to clipboardprint? package import flash.display.Sprite; import flash.events.*; import .*; import org.summerT.HttpConnection; import org.summerT.Connectio

27、nEvent; public class Main extends Sprite private var sql:HttpConnection; private var url:String=ManagerURL.Address()+index.jsp; public function Main() init(); private function init():void sql=new HttpConnection(); var obj:URLVariables=new URLVariables(); sql.sendMessage(obj,url); sql.addEventListener(ConnectionEvent.COMPLETE,onComplete); private function onComplete(event:ConnectionEvent):void var sqldata:*=event.data; var msg:String=sqldata.data.newList.toString(); var list:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1