CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

asp+flash读取数据库的记录呀?

楼主haigang(零下一度)2004-08-02 13:51:27 在 Web 开发 / ASP 提问

如何在flash中调用asp读取数据库的内容呀,能给我一各简单的例子吗? 问题点数:100、回复次数:12Top

1 楼mrshelly(Shelly)回复于 2004-08-02 13:53:58 得分 0

在ASP中把变量以    
  &变量名=值&  
  &变量名=值&  
  &变量名=值&  
  &变量名=值&  
  的方式输出就OK了。  
  在   FLASH   LoadVar就成。就可以直接用变量的值了。  
  Top

2 楼ttt2(孩子她爸)回复于 2004-08-02 13:57:20 得分 0

上www.flash8.net看看去Top

3 楼haigang(零下一度)回复于 2004-08-02 14:11:31 得分 0

能给我一个简单的例子吗  
  我不会写语句呀Top

4 楼haigang(零下一度)回复于 2004-08-03 10:20:07 得分 0

问题还没有解决,大家帮忙呀!Top

5 楼verystrong()回复于 2004-08-03 10:45:46 得分 40

你到flash流媒体论坛去搜一下,有很多。以下是我以前收藏的文章  
   
   
  第4卷   FlashMX数据库间接操作之中文代码解决方案  
  原创:THOR   (转载者请保留“作者:THOR”等字样,QQ   488915,Email   coolthor@163.com)  
  声明:对ActionScript和ASP不感兴趣者以及认为FLASH只能做动画片者,请Get   OUT!  
  留言:呵呵,本人初来乍到,希望大家多多支持,要是写了文章能加专家分就好了  
  --------------------------------------------------------------------------  
    在前面的几卷中我们已经初步的了解了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)<1   or   len(strUser)>20   then  
                          strOutput="用户名须1至20个字以内"                 '检查用户名长度  
                  else  
                          if   len(strPass)<3   or   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<1   then   parID=0  
   
          db="test.mdb"  
          Set   conn   =   Server.CreateObject("ADODB.Connection")  
          connstr="driver={Microsoft   Access   Driver   (*.mdb)};dbq="   &   Server.MapPath(db)  
          conn.Open   connstr                 '打开数据库连接  
   
          set   rs   =   server.CreateObject("ADODB.Recordset")  
          rs.open   "select   top   1   *   from   user   where   id   =   "   &   parid,conn,2,3  
                  if   rs.eof   then  
                          strUser="不存在的用户记录"  
                          strPass="不存在的用户记录"  
                  else  
                          strUser=rs("user")  
                          strPass=rs("pass")  
                  end   if  
          rs.close  
          conn.close  
          set   conn=nothing  
          response.write   "aspAction=READ&aspUser="   &   strUser   &   "&aspPass="   &   strPass                         '输出结果  
  %>  
   
    好了,到此为止,数据库和ASP部分我们已经基本就绪了,我们现在就要开始FLASH部分的编写,说到FLASH和用户注册问题,有些事得先说一下,各位在做会员信息的时候最好还是别直接在数据库里面存下会员的密码,这样不好,呵呵,还是用些什么MD5啊之类的算法加密一下,我这里就有一代FLASH版的MD5函数,大家复制到FLASH里面就可以直接引用了,地址是http://expert.csdn.net/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(this["aspAction"]){  
      case   "REG":                               //当运行的ASP中返回的aspAction是REG时,就作为用户注册信息进行处理  
          txtPrompt.text=this["aspRect"];  
          break;  
      case   "READ":                     //当运行的ASP中返回aspAction是READ时,就作为查看用户信息进行处理  
          datUser.text=this["aspUser"];  
          datPass.text=this["aspPass"];  
          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   (CurrentUserID>1){  
  CurrentUserID--;  
  asp=new   LoadVars();  
  asp.onLoad=readasp;  
  asp.id=CurrentUserID;  
  asp.sendAndLoad("http://thor/flashclass/userread.asp",asp,"POST");  
  }  
  }  
  最后在“下一条记录”按钮中写下代码:  
  on(release){  
  CurrentUserID++;  
  asp=new   LoadVars();  
  asp.onload=readasp;  
  asp.id=CurrentUserID;  
  asp.sendAndLoad("http://thor/flashclass/userread.asp",asp,"POST");  
  }  
   
  好了,一切准备就绪了,同志们一起按CTRL+ENTER吧~``````````                       ^_^  
   
   
   
  有需要本卷源码者,请拿30分来换   ,呵呵,算做稿费咯,同志们多多支持啊,多多顶贴啊,还有就是多多给我加分啊,呵呵:)  
   
  在下一卷中将向大家演示如果制作能排序,分页的列表,以及链接(以软件下载系统为例)  
  ::::   [第4卷完]   ::::  
   
  Top

6 楼xzhy80(算了吧,散了吧)回复于 2004-08-03 11:24:02 得分 0

upTop

7 楼haigang(零下一度)回复于 2004-08-03 15:04:21 得分 0

我在asp文件中     是这么写的response.write   "&name="&now()  
  flash中  
   
   
  on(release){  
  gbdb   =   new   LoadVars();  
  gbdb.loadVariables("http://tuozhan.100/read.asp",asp,"POST");  
  ar_title.text   =   gbdb["name"];  
  }  
   
  但是就是读不出来呀Top

8 楼AAsx(arbiter)回复于 2004-08-03 15:08:32 得分 30

asp:  
   
  response.write   Server.URLEncode("name="&now())  
   
   
  Flash:  
   
  loadVariables("read.asp","","POST");  
  trace(name);  
  Top

9 楼haigang(零下一度)回复于 2004-08-03 15:17:51 得分 0

loadVariables("read.asp","","POST");  
  ar_title.text   =   trace(name);  
   
  楼上的,我这么写也不可以那Top

10 楼haigang(零下一度)回复于 2004-08-03 15:19:39 得分 0

其中ar_title是动态文本框的名字Top

11 楼haigang(零下一度)回复于 2004-08-03 15:20:25 得分 0

在线等待呀Top

12 楼verystrong()回复于 2004-08-04 08:56:28 得分 30

LoadVariables语句由于在读取数据时没有回调功能,也就是无法产生数据接收完毕的事件,所以,我们需要建立一个循环来判断是否接收到了数据Top

相关问题

  • ASP与数据库的读取问题
  • asp页定时读取数据库值
  • 如何用ASP 读取数据库表的结构 数据库为MSSQL
  • 数据库读取
  • asp可以直接读取oracle数据库的数据吗?
  • 请教:通过asp读取notes数据库中的数据
  • 如何用asp连接csv格式的数据库,并读取
  • 关于如何使用ASP读取XML数据库的问题。
  • ASP 从sybase数据库中读取数据的奇怪问题。
  • 求ASP将文件上传到数据库和从数据库读取出文件的方法

关键词

  • flash
  • 数据库
  • 代码
  • 注册
  • asp
  • 文本
  • 文件
  • 密码
  • 字段
  • 用户

得分解答快速导航

  • 帖主:haigang
  • verystrong
  • AAsx
  • verystrong

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo