作者:[email protected]
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 ); } 
|