dytt@yeah.net PowerDynamo 是Sybase EAServer下的一个产品,能够进行Web 开发 。 和一般的Web程序不同的是,PowerDynamo的程序全部存放在 数据库 中,而不是存放在物理硬盘上,其文件后缀为stm。 PowerDynamo需要依赖IIS才能正常运行。 在 Wi" name="description" />

PowerDynamo开发笔记

发表于:2007-05-25来源:作者:点击数: 标签:
作者: .net ">dytt@yeah.net PowerDynamo 是Sybase EAServer下的一个产品,能够进行Web 开发 。 和一般的Web程序不同的是,PowerDynamo的程序全部存放在 数据库 中,而不是存放在物理硬盘上,其文件后缀为stm。 PowerDynamo需要依赖IIS才能正常运行。 在 Wi

作者:.net">dytt@yeah.net


PowerDynamo 是Sybase EAServer下的一个产品,能够进行Web开发


和一般的Web程序不同的是,PowerDynamo的程序全部存放在数据库中,而不是存放在物理硬盘上,其文件后缀为stm。


PowerDynamo需要依赖IIS才能正常运行。


Windows2000下安装PowerDynamo,安装程序会自动配置IIS。


PowerDynamo的语法非常类似C,并且区分大小写


下面介绍下PowerDynamo:


1、服务端代码


在ASP中服务段代码都写在"<%? code %>"中
如:
<%
?page = 1
%><%

 page = 1
%>
在PowerDynamo中
<!--script


 page = 1 ; // <--- 注意:要加分号,并且区分大小写


-->



 


2、Request


在ASP中可以通过Request("参数名")来获取通过GET或POST传递过来的数据。
例如: page = Request("page")
在PowerDynamo中获取Request的方法为 document.value.参数名
例如: page = document.value.page


注意:在PowerDynamo中 使用 page = document.value.page ,但是页面并没有传递page参数
那么,系统会报错(在ASP中不会报错),解决方法如下:


 if (!exists(document.value.page)){
        page = 1;
 }
 else
 {
        page = document.value.page;
 }


3、Response.Write
在ASP中用的最多的就是Response.Write 输出
在PowerDynamo中被document.write替代,如:


document.write("welcome <BR>");
document.writeln("welcome <BR>"); // <---document.writeln会在输出的字符串后增加一个换行符


4、Session的用法
赋值: session.user_name = "dytt" ;  // <-- 其中的user_name可以是任意名称
取值: name = session.user_name ;


5、跳转
document.redirect = "default.stm";



6、数据库连接的标准用法


conn = site.GetConnection("conn1");  //<----这个site.GetConnection("conn1") 需要事先通过PowerDynamo的Connections工具配置conn1
if (conn == null){
            document.writeln("连接数据库失败!");
            return;
 }
  conn.autoCommit = true ;
  Query = conn.CreateQuery();
  Query.cursorType = "ForwardOnly";
  Sql = "SELECT * FROM tblname ;
  Query.SetSQL(Sql);
  Query.Execute();
 
 //如果只需要执行SQL语句而不需要对结果进行处理,那么做到这里就可以了.
 
while(Query.MoveNext())  //  <---- 这里需要注意的是,如果要处理结果,那么必须第1件事:Query.MoveNext(),默认指针指在第1条记录前(NULL)
 {
  //获取数据库的数据
  name = Query.GetValue(1); //取当前指针所在行的第1个字段里的数值(从1开始,不是从0开始)
  //也可以这样
  name = Query.GetValue("name");
 }


 //如果执行发生错误
 if(Query.GetErrorCode() != 0){
  document.writeln("执行不正确");
  document.writeln(Query.GetErrorInfo( )); 
  document.writeln("请联系系统管理人员");
  exit;
 }


 //关闭连接
 Query.Close();
 


7、引用
PowerDynamo中存在2种引用
A) include ,和ASP中的include一样,只是在写法上有些差异
如下:


<!--INCLUDE NAME = "phs1.css" -->


B) import
首先把需要引用的文件通过PowerDynamo的Add Script建立,建立后会生成ssc结尾的文件
然后通过import引用进来,例如:


test.ssc
<!--script
 function addnum(a,b)
 {
  return a+b ;
 }
-->


default.stm
<!--script
    import "test.ssc";
    document.writeln(addnum(a,b));
-->




---------------


下面列了些自己写的简单的函数(Dynamo中没有提供的,但是会经常用到的)
  function rtrim( instr )
  {
    var last_space;
    var ret;
   
    last_space = instr.length;
    while( instr.charAt( last_space - 1 ) == " " ) {
      last_space --;
    }
   
    ret = instr.substring( 0, last_space );
    return( ret );   
  }

原文转自:http://www.ltesting.net