为什么FLASH不可以直接访问数据库,为何FLASH一定要通过后台语言才可以访问数据库?
其实,很久以前就有一个老外写过一个类,只要简单配置一下,然后就可以连接数据库了,完全不需要通过ASP,ASP.NET,PHP,JSP等过渡了.可是如果你在现实应用中,真的这样做了,那么等于你已经把你的所有数据库信息光明正大的送给别人了~现在的破解,让多少FLASH开发者心寒啊!把所有的数据库信息都写在AS里面,那你自己想想,后果会多严重~所以通过后台语言的过渡,还是很有必要的.
所以对于初学者,以后还是不要再问这个问题了,不是技术达不到,也不是adobe没有这个能力,其实完全在于一个安全角的考虑.
MXML:
<mx:Script>
<![CDATA[
private function callService(sql:String):void
{
sqlService.send(sql);
}
]]>
</mx:Script>
<sql:MysqlService id="sqlService"
host="database.mydomain.com"
port="3306"
user="username"
scrambler="{new PlainTextScrambler('password')}"
database="databaseName"
response="onResponse(event)"
error="onError(event)" />
<mx:ComboBox id="cbx1" dataProvider="{sqlService.lastResult}" labelField="userName" />
Straight Actionscript:
private function getUserList():void
{
var host:String = "database.mydomain.com";
var port:int = 3306;
var user:String = "mydatabaseuser";
var scrambler:PlainTextScrambler = new PlainTextScrambler("password");
var database:String = "databaseName";
var con:Connection = new Connection(host, post, user, scrambler, database);
con.addEventListener(Event.CONNECT, onConnect);
con.addEventListener(SQLErrorEvent.SQL_ERROR, onError);
con.connect();
}
private function onConnect(e:Event):void
{
var con:Connection = Connection(e.target);
var st:Statement = con.createStatement();
st.addEventListener(RestulsEvent.RESULTS, onResults); //FOR SELECT
st.addEventListener(ResponseEvent.RESPONSE, onResponse); //FOR INSERT, UPDATE, etc.
st.addEventListener(SQLErrorEvent.SQL_ERROR, onError);
st.executeQuery("SELECT * FROM users;");
}
private function onResults(e:ResultsEvent):void
{
var st:Statement = Statement(e.target);
var con:Connection = st.getConnection();
var rs:ResultSet = e.resultSet;
while ( rs.next() )
{
var userName = rs.getString("userName");
var email = rs.getString(2);
}
con.disconnect();
}
private function onResponse(e:ResponseEvent):void
{
var st:Statement = Statement(e.target);
var con:Connection = st.getConnection();
var affectedRows:int = e.affectedRows;
var insertID:int = e.insertID;
con.disconnect();
}
private function onError(e:SQLErrorEvent):void
{
var st:Statement = Statement(e.target);
var con:Connection = st.getConnection();
var message:String = e.msg;
var errorNo:int = e.id;
var text:String = e.text; // Equals SQLError #{id}: {msg}
con.disconnect();
}
分享到:
相关推荐
由于Flash本身不支持直接访问数据库,因此通常需要借助于服务器端脚本语言如ASP、PHP、JSP或ASP.NET等来实现这一目的。 #### 二、新建数据库 1. **创建数据库**:首先需要在SQL Server中创建一个名为`stud`的新...
此外,对于敏感数据,服务器端可能需要实施验证机制,如OAuth或JWT,确保只有授权的用户或应用可以访问数据库。 在实际项目中,还需要考虑性能优化,比如使用分页加载大量数据,避免一次性加载所有数据导致的性能...
4. **Flash与数据库的间接连接**:由于Flash本身不支持直接连接数据库,通常会通过服务器端脚本(如PHP、ASP.NET等)来处理数据库查询,将结果转换为XML,然后返回给Flash。Flash加载XML后,再对数据进行解析和显示...
Flash本身不直接支持数据库操作,但可以通过ActionScript(AS)脚本与服务器端的动态脚本(如ASP、JSP、PHP)进行通信,进而间接访问数据库。在这里,我们以TOMCAT+JSP+ACCESS+FLASH的组合为例,来说明这个过程。 1...
总结来说,"Flash链接数据库实例"涉及了多种技术,包括ActionScript的LoadVars类进行服务器通信、XML文件作为数据交换媒介、以及通过服务器端脚本间接访问数据库。这些技术的结合,使得Flash能够创建与后端数据源...
Flash MX虽然是一款强大的动态网页设计软件,但它本身无法直接访问数据库,因此需要借助服务器端脚本程序,如ASP(Active Server Pages,动态服务器网页),来实现数据交互的功能。文中以选煤厂实时生产数据网络发布...
4. **数据访问对象(DAO)**:在后台,创建DAO(Data Access Object)类来封装对数据库的操作。DAO负责执行SQL查询,返回结果集。这些结果可以转换为JSON或XML格式,以便于Flex解析。 5. **数据模型**:在Flex...
在动态网页设计中,ASP与Flash技术得到了广泛的应用。ASP具有强大的数据库处理功能,Flash能够...另一种是把应用程序下载到客户端直接访问数据库。最常用的中间件技术有通用网关接口(CGI)和应用程序编程接口(API)两种。
这个脚本的目的是生成一个包含变量名和对应值的字符串,这些值可以通过Flash MX直接访问。例如,我们可以创建一个名为`Test.asp`的文件,内容如下: ```asp ! Macromedia FlashMX 6.0"%> ``` 或 ```asp ! ...
6. **安全性和权限管理**:确保只有授权的用户或应用能够访问数据库,防止数据泄露。可以使用HTTP基本认证、OAuth或其他身份验证机制。 总的来说,"Flash调用数据库轮换图片"是一种结合了前端展示和后端数据处理的...
Delphi是一种用于创建跨平台应用程序的集成开发环境,不过它通常不直接与Flash结合使用。 #### 4. 移动平台 文档还涉及了移动开发平台,如uClinux、Windows CE和Symbian等,展示了Flash技术在移动环境中的潜在...
在这个案例中,Flash可能用于以可视化方式展示代码流程和数据库交互过程,使学习者能直观理解每个步骤。 6. 运行与学习: 用户解压缩文件后,可以直接运行案例演示.EXE来查看和交互这个教学示例。通过这种方式,...
文章中提到了张松华的博士论文,他设计了一种名为EDB的嵌入式数据库系统,该系统直接在Flash存储器上执行代码,充分利用了Flash的高速读取性能,避免了传统方法中将代码复制到RAM中执行的额外开销。EDB采用了B树数据...
ActionScript和Gears API提供了相应的权限管理机制,确保只有授权的应用程序才能访问数据库。 6. **FlexBuilder或Flash Builder**:这些IDE是开发ActionScript项目的主要工具,它们提供了一整套调试、测试和部署...
为了解决这一问题,教程介绍了SQLAlchemy-migrate工具,这是一个数据库迁移的解决方案,允许开发者在数据库结构变更时进行版本控制,而不需要手动迁移数据。 在配置部分,教程指导我们如何配置Flask应用程序使用...
### Flex4访问数据库文档知识点详解 #### 一、Flex与其它数据访问技术的比较 **1.1 客户端处理与服务器端处理** - **传统Web开发**: 传统的Web开发方式(如JSP、servlet、ASP、PHP或CFML)通常采用服务器端渲染的...
### 手工创建Oracle数据库详解 #### 知识点一:手工创建Oracle...因此,对于IT专业人士而言,掌握手工创建Oracle数据库的技能,不仅能够提升自身的技术实力,也是企业级数据库管理和运维工作中不可或缺的能力之一。