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 );