PowerDynamo 是Sybase EAServer下的一个产品,能够进行Web开发。
和一般的Web程序不同的是,PowerDynamo的程序全部存放在数据库中,而不是存放在物理硬盘上,其文件后缀为stm。
PowerDynamo需要依赖IIS才能正常运行。
在Windows2000下安装PowerDynamo,安装程序会自动配置IIS。
PowerDynamo的语法非常类似C,并且区分大小写
下面介绍下PowerDynamo:
1、服务端代码
在ASP中服务段代码都写在""中
如:
?page = 1
%<%
page = 1
%>
在PowerDynamo中
<!--script
page = 1 ; // <--- 注意:要加分号,并且区分大小写
-->
?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));
-->
??? 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 );
}