FlashMX数据库间接操作之中文代码解决方案.doc_第1页
FlashMX数据库间接操作之中文代码解决方案.doc_第2页
FlashMX数据库间接操作之中文代码解决方案.doc_第3页
FlashMX数据库间接操作之中文代码解决方案.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FlashMX数据库间接操作之中文代码解决方案 - 在前面的几卷中我们已经初步的了解了FLASH与数据库的加接原理和基本方法,现在我们将从本卷开始进行实战演习 _ 本卷将向大家讲述怎样完成一个具备基本功能的会员注册和会员档案功能。 很多刚开始与ASP连接的朋友经常会提到同一个问题,就是无法正确的从ASP或者文本文件中读取到汉字或者全角字符,关于这个问题嘛,当年我也蛮头大的,呵呵,其实只要在FLASH中加一条指令就行了,就是在连接ASP之前加上System.useCodePage=true;就可以了(建议将此命令放在第一帧的第一行) 对了,有一个非常重要的问题忘了告诉大家,各位在使用LoadVars对象向ASP发送数据时,建议使用POST方法,尽量不要用GET方法,因为那样的话嘿嘿 _ (俺先卖个关子再说,反正大家照我说的做绝对对各位都有好处,可以少走弯路,至于为什么嘛,大家自己试试GET和POST的区别就明白了,多动手对大家都有好处嘛,呵呵) 现在我们已经解决了FLASH与ASP之间的中文问题,下面我们将要准备开始实现会员的注册功能。我们首先建立一个ACCESS 2000格式的数据库,然后在数据库中创建一个数据表,并为它命名为user,接下来我们在这个数据表中创建三个字段,分别是id,user,pass,然后我们分别将这三个字段设为主键字段、20个字符长度文本字段和60个字符长度的文本字段,设置好之后,我们关闭这个数据库,并打开记事本(当然,用其它编辑器也可以),我们创建下面这个ASP文件(我们将用这个ASP文件来实现会员注册功能): % dim strUser,strPass,strOutput,strSQL,db strUser=trim(Request.form(user) 获取POST数据中的USER参数 strPass=trim(Request.form(pass) 获取POST数据中的PASS参数 strSQL=insert into user (user,pass) values (&strUser&,&strPass&) 生成SQL语句 db=test.mdb 数据库文件名 Set conn = Server.CreateObject(ADODB.Connection) connstr=driver=Microsoft Access Driver (*.mdb);dbq= & Server.MapPath(db) conn.Open connstr 打开数据库连接 if len(strUser)20 then strOutput=用户名须1至20个字以内 检查用户名长度 else if len(strPass)60 then strOutput=密码须3至60个字以内 检查密码长度 else set rs = server.CreateObject(ADODB.Recordset) rs.open Select top 1 * from user where user = & strUser & ,conn,2,3 检查同名用户 if rs.eof then conn.execute strSQL 执行SQL语句 strOutput=注册成功 else strOutput=用户已存在 rs.close set rs=nothing end if end if end if conn.close set conn=nothing response.write aspAction=REG&aspRect= & strOutput 输出结果 % 这样我们就写好了注册功能的ASP文件,接下来,我们再创建另一个ASP文件,用来显示会员的信息,代码如下: % dim parID,strUser,strPass parID=Request.form(id) 获取POST数据中的PASS参数 if parID 好了,到此为止,数据库和ASP部分我们已经基本就绪了,我们现在就要开始FLASH部分的编写,说到FLASH和用户注册问题,有些事得先说一下,各位在做会员信息的时候最好还是别直接在数据库里面存下会员的密码,这样不好,呵呵,还是用些什么MD5啊之类的算法加密一下,我这里就有一代FLASH版的MD5函数,大家复制到FLASH里面就可以直接引用了,地址是/Expert/TopicView1.asp?id=2022597,使用方法嘛,直接用trace(md5(password)就可以了,哦,说到这里又得再罗索两句了,很多人问我trace是干什么,唉,不是我没耐心,这个真的很简单,就是在FLASHMX里面弹一个小窗口出来显示数据,主要是用来调试代码的,比如说看一下一个变量的值 trace(a);就是显示变量a的值咯,很简单,大家自己动手试试就知道了 好了,言归正传,准备写FLASH代码!,在我们下面要做的FLASH代码中需要同时可能不止一次的重复调用上面的两个ASP文件,所以我在上面的那个ASP文件中都写了aspAction这个变量,一个是返回“READ”字串,另一个是返回REG字串,这样的话我们就可以在FLASH中用共用的代码来识别哪一次ASP调用是来自哪一个功能,这样就可以让FLASH代码自己区别出来,然后分别去干相应的事情了。 好了,我们先在FLASH中创建一个关键帧(只需要一帧就可以了)和几个动态文本域和可输入的动态文本域,相关操作方法请自己读FLASHMX的相关教程(很简单的咯,实在不懂的话回帖提问吧),然后再创建三个按钮(分别用做“注册”、“上一条记录”、“下一条记录”),然后分别为它们命名: txtUser 用来让别人输入要注册的用户名 txtPass 用来让别人输入要注册的密码 txtPrompt 用来显示是否注册成功的提示信息 txtCount 用来显示当前记录的主键值 datUser 用来显示当前记录中的用户名 datPass 用来显示当前记录中的密码 准备好上面这些之后,我们开始在第一帧中写入以下代码: System.useCodePage=true; /提供中文支持,这样就可以从数据库或者ASP等文件中引用汉字和全角字符了 CurrentUserID=0; /主键值变量,默认从0开始 datUser.text=; datPass.text=; UpDateCount(); function UpdateCount() /显示当前主键的值 txtCount.text=ID = + CurrentUserID; function ReadAsp() /LoadVars的回调函数 switch(thisaspAction) case REG: /当运行的ASP中返回的aspAction是REG时,就作为用户注册信息进行处理 txtPrompt.text=thisaspRect; break; case READ: /当运行的ASP中返回aspAction是READ时,就作为查看用户信息进行处理 datUser.text=thisaspUser; datPass.text=thisaspPass; UpDateCount(); break; stop(); 接下来我们在“注册”按钮中写下代码: on(release) asp=new LoadVars(); asp.onload=ReadAsp; asp.user=txtUser.text; asp.pass=txtPass.text; asp.sendAndLoad(http:/thor/flashclass/userreg.asp,asp,POST); 然后在“上一条记录”按钮中写下代码: on(release) if (CurrentUserID1) CurrentUserID-; asp=new LoadVars(); asp.onLoad=readasp; asp.id=CurrentUserID; asp.sendAndLoad(http:/thor/flashclass/userread.asp,asp,POS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论