powerscript 下载数据类型有哪些

提问回答都赚钱
> 问题详情
PowerBuilder中的PowerScript语言包括下述哪些语句Ⅰ.变量定义语句Ⅱ.赋值语句.Ⅲ.流控制语句Ⅳ.操纵
悬赏:0&&答案豆&&&&提问人:匿名网友&&&&提问收益:0.00答案豆&&&&&&
PowerBuilder中的PowerScript语言包括下述哪些语句 Ⅰ.变量定义语句 Ⅱ.赋值语句. Ⅲ.流控制语句 Ⅳ.操纵数据库语句A.仅Ⅰ、Ⅱ和ⅢB.仅Ⅰ、Ⅲ和ⅣC.仅Ⅰ、Ⅱ和ⅣD.都是请帮忙给出正确答案和分析,谢谢!
发布时间:&&截止时间:
网友回答&(共0条)
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&8.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&8.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&8.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&2.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
你可能喜欢的
[] [] [] [] [] [] [] [] [] [] [] []
请先输入下方的验证码查看最佳答案1846人阅读
一、powerScript的语法
1.0变量的命名及使用
powerscript的标识符(变量名称)必须以字母或下划线开头,其它的字符可以是下划线(_)、短横线(-)、美元符号($)、号码符号(#) 、百分号(%)。
1.1.最长40个字符(实际可以更长),中间不能有空格
1.2.保留字不能用作标识符(变量名称)。
1.3 标识符不区分大小写,如:PART、part、Part表示同一个标识符
1.4 特殊符号表示
换行符 & &&&&&&&&&&&&&&&&&&&&~n
回车 & & & &&&&&&&&&&&&&&&&&&&&~r
制表 & & & &&&&&&&&&&&&&&&&&&&&~t
竖直制表符 & & & & & & & &~v
换行 & & & & & & & & & & & & & ~f
退格 & & & & & & & & & & & & & ~b
波浪号 & & & & & & & & & & & ~~
单引号 & & & & & & & & & & & &~'
双引号 & & & & & & & & & & & &~&&
2.Null(空值)
null是powerbuild与数据库交换数据时使用的一种特殊值,表示数据未定义、不确定,它与空字符串、数值零、以及日期00-00-00的意义完全不同。
powerscript的所有数据类型都支持null,将变量赋null的方法有两个,
2.1.从数据库中读到空值
2.2.使用SetNull函数赋值,例:String person=&&;
SetNull(person);将person变量的值设置为 null
测试变量是否为null时,使用函数IsNull(),例:IF IsNull(a) THEN,不能使用 IF a=NULL THEN,因为空值不等于任何值,也不等于另一个空值。
3.powerScript中断行、续行与多条语句
3.0 powerScript中的续行符号&&&,它放在一行的末尾指示下一行是当前行的继续,例如:
把语句MessageBox(&SQL语句出错&,&出错号=&+String(SQLCA.SQLCode))写成两行
MessageBox(&SQL语句出错&,&出错号=&+&
String(SQLCA.SQLCode))
但是不能在保留字或标识符(变量名)的中间续行,例如:
MessageBox(&SQL语句出错&,&出错号=&+String(SQL&
CA.SQLCode))
如果想一行中写多条语句可以用分号进行分隔例:
a=b+c;g=q-m;
4.powerScript中的注释
4.0 单行注释&//&,多行注释&/* &*/&,例: // 这是一条注释
/* 我是注释多行的*/
5.对象、属性、函数和事件的引用方法
5.0对象属性的使用
对象名.属性名,例如:UserEnter=sle_name.Text,sle_name单行文本编辑框的名称,Text是其属性
5.1函数和事件的访问方式
[objectname.][type][calltype][when]functionname([argumentlist))
objectname对象名称
type&类型的取值为Function或Event,用于指明访问的是函数还是事件,默认是Function
calltype&用于指明powerbuilder查找函数的时机,有效取值为:static(默认值)编译时查找函数,如果不存在,则产生编译错误
dynamic程序运行时查找函数,如果不存在,则产生编译错误。
when用于指明函数或事件是立即执行还是当前程序段执行完之后执行,取值为trigger(默认值)立即执行,post当前程序段执行完之后再执行
functionname是指调用的函数或事件的名称,argumentlist是调用函数或事件的参数
例如:把焦点移到单行编辑框中 &sle_name.SetFocus()
给按钮添cb_name加单击事件,cb_name.EVENT Trigger Clicked()&
6.代词的使用(This、Parent、ParentWindow、Super)
6.0 This表示正在为之编写事件处理程序的对象
6.1 Parent表示当前控件所在的窗口,例如:窗口w_win中有个按钮cb_close,其作用是单击该按钮关闭窗口w_win,我们可以在按钮的Clicked事件处理中写上close(w_win),或close(Parent)
6.2 ParentWindow表示运行时菜单所在的窗口,该代词只能在菜单的事件中使用,例如,关闭菜单的Clicked事件中写上 close(ParentWindow)
6.3 Super调用父对象的Clicked事件处理程序
CALL Super ::Clicked
调用在子类重载的父的函数f_func()
Super:: f_func()
7.powerScript中的数据类型
Blod &表示二进制对象,用于存储大量数据,例如图象、大文本等。
Boolean &布尔开型,取值为true或false
Character或Char &单个ASCII字符
Date 表示日期,包括年()、月(01-12)、日(01-31)
Datetime 表示日期及时间,仅用于访问数据的Datetime类型数据
Decimal或Dec &表示带符号十进制数,最大18位精度
Double &表示带符号的浮点数,15位有效数字
Integer或Int &表示16位带符号整数
Long & 表示32位带符号整数
Real & &表示带符号浮点数,精度6位
String &表示字符串类型,用于存储字符,长度为0-60000
Time & &表示小时,24小时制的时间,小时(00-23)、分(00-59)、秒(00-59)
UnsignedInteger或UnsignedInt或Uint 表示16位无符号整数
UnsignedLong或Ulong 表示32位无符号整数
7.0.any数据类型
any是一种可变的数据类型,程序中给它什么类型的值,它将变成什么类型,any类型可以接受标准数据类型,结构数据类型、对象及数组等各种类型
判断any保存的是什么数据类型,可以使用ClassName函数
8.变量的声明
数据类型 &变量名称,例如:Integer i,a,b
Blob类型的变量声明,Blob[{大小}] 变量名,Blob的默认长度为0,系统会根据实际数据的长度自动调整其长度。例如:blob{100} temp_pic //表示长度为100的 blob类型变量
blob ib_picture表示一个默认长度为0的blob变量
Decimal类型的变量声明
Dec|Decimal [{精度}] 变量名,精度是指小数点之后的位数,如果没有指定,则以赋值时的精度为准.
数组的声明
数据类型 数组名称 [大小]
Integer person[30],real &lr_array[10,10]声明一个二维数组,real &lr_array1[3]={1.2,3.2,3.5}
常量的声明
CONSTANT 数据类型 常量名=常量值,constant可以声明除blob之外的任意标准数据类型
9.变量的作用域
变量的作用域有以下四种:
1. 全局变量
&可以在整个程序内访问。
2.共享变量
在一个对象内定义,可以在对象内部的任何地方使用,同一个类的所有实例共享一个共享变量。
3.实例变量
在一个对象内定义,只能在这个对象内部使用
4.局部变量
就是在脚本层定义的变量,只能用于脚本层,且在脚本层的末尾被删除
变量的优先级:局部变量、实例变量、全局变量、共享变量
10.存储过程的声明及使用
10.0 存储过程按返回值分为两类,一类 有返回值,我们把它看成函数;另一类没有返回值,我们称作过程。函数型存储过程使用function关键字,过程型存储过程使用subroutine关键字。
函数型存储过程的声明语法为:
function rtndatatype functionname ({{ref} datatype1 arg1,...{ref} datatypen argn }) rpcfunc{ alias for &spname& }
rtndatatype返回值类型
functionname函数名称
ref关键字指明函数是传引用,省略该关键字则表示传值
datatype arg 表示参数的数据类型和参数名称
rpcfunc 关键字说明是数据库的存储过程说明,而不是动态连接库中外部函数的说明
alias for 关键字是给存储过程起别名,&spname&是别名的名称
function double give_raise(ref double salary) rpcfunc alias for &give_raise_proc&
调用存储过程,double val=2000,double rv
rv=SQLCA.give_raise_proc(val)
11.变量的默认值
blob 默认为0
char 或character 默认值为0
boolean 默认值为 false
Date 默认值是
DateTime 默认值是
数值类型(int,long,decimal,real,double,unsignedinteger,unsignedLong) 默认值为0
String 默认值是 空字符串(&&)
Time 默认&#2:00
12.条件语句
12.0 if语句&
12.1 单行 if ...then &格式为
&if cond then action1&
&else action2
当cond为true时 执行action1,否则执行action2
12.2 &多行 if ...then &格式为&
&if &condition1 &then action1&
&elseif &condition2 &then action2
&else action3 &
例:if parentCorrect&=90 then
& & & & & & grade=&a&
& & & &elseif &parentCorrect&=80 then&
& & & & & & grade=&b&
& & & &elseif &parentCorrect&=70 &then
& & & & & & grade=&c&
& & & &elseif parentCorrect&=60 then
& & & & & & grade=&d&
& & & & else
& & & & & & grade=&d&
& & & & end if
13. &choose case 语句
choose case testexpression
& & & & case expressionlist
& & & & & & statementblock
& & & & case expressionlist
& & & & & & statementblock
& & & & case else&
& & & & & & statementblock
end choose
testexpression 是测试表达式,expressionlist是判断表达式,statementblock是执行语句块
判断表达式可以使用如下的形式:
是用逗号分隔的数据,例如:2,4,7
用To 表示一个区间范围,例如:2 To 15
用IS 代表测试值,后跟关系运算符和比较值,例如:IS&30
choose case&parentCorrect
case IS &=90
& & &grade=&A&
case 80 To 89
& & &grade=&B&
case 70 To 79
& & &grade=&C&
case 60 To 69
& & &grade=&D&
& & &grade=&E&
end choose
14. 循环语句
14.1 do...loop循环
do... loop 循环提供了四种形式,分别为:
do until codition...loop
do while condition...loop&
do ... loop until condition
do ... loop while condition
do 表示循环的开始,loop 表示循环的结束,condition表示循环条件,是逻辑表达式,其值为true或false
do until condition ... loop的语法格式为:
do until condition
& & statements
condition条件为false则执行 statemets语句,接着检查条件,直到为true时退出循环
do while condition ... loop的语法格式为:
do while condition
& & &statements
condition执行条件为true时则执行statements语句,接着检查条件,直到为false时退出循环
do... loop until condition的语法格式为:
& & statements
loop until condition
do ... loop while condition的语法格式为:
& & statements
loop while condition
14.2 for ...next循环
for ...next是循环次数确定的循环结构,使循环体的语句执行规定的次数
for varname=start to end [step increment]
& & statements
varname是循环变量,可以为任意的数值,start,end分别为循环变量的初始值和终止值,increment是每次循环后循环变量的步长增量,默认是1
int ii_aar[50]
for i=1 to 50
& & sum+=ii_aar[i]
15.Call语句的使用
call语句用来调用祖先对象的事件或祖先对象的控件上的事件
Call语句的语法为:
call ancestorobject {controlname} ::event {(argumentlist)}
ancestorobject是祖先对象的名称
controlname 事件名称
event 指定要调用的事件名称
argumentlist 指定事件参数,参数类型、个数由具体事件确定。如果事件要求参数,调用时没有提供参数,系统将默认设置参数值为NULL
例:调用祖先窗口的Open事件
Call w_emp::open
调用祖先窗口上命令按钮cb_close的click事件处理
Call w_emp cb_close :: Clicked
16. MessageBox函数的使用
MessageBox 函数常用于显示出错、警告及其它重要的信息,其语法格式为:
MessageBox(title,text{,Icon{,Button{,Default}}})
大括号中的部分可以省略,title表示标题,text是指显示在窗口的文本。
Icon指定在窗口中显示的图标,是枚举类型,取值为:
Information!、StopSign!、Exclamation!、Quetion!、None!
Information是Icon的默认值
Button参数指定在窗口中显示哪些按钮,有效取值为:
OK! & &确定&按钮
OKCance! &确定&、&取消&按钮
YesNo! &&是&、&否&按钮&
YesNoCancel & &是&、&否&、&取消&按钮
RetryCancel! & &&重试&、&取消& &按钮
AbortRetryIgnore! & “终止&、&重试&、&忽略& &按钮
Default &参数指定哪个按钮是默认按钮,即用户按下键盘上的Enter键时,执行哪个按钮的
clicked事件,用户数字1、2、3表示,默认是1
MessageBox的返回值是用户按下的 按钮序号,通过判断返回值能够知道用户按了哪个按钮
例:li_rc=MessageBox('保存修改','你修改了数据窗口的数据,现在是否保存?',&
Quetion!,YesNoCancel!)
17. &数据类型转换
17.1字符串转换成数值类型
Integer(String),将字符串转换成Integer
Long(String),将String转换成Long
Real(String),将String转换成Real
Double(String),将String转换成Double
Dec(String),将String转换成Dec
17.2 数值类型转换成字符串
String(number,format),number是任意一种数值类型, format是转换后的格式
例:amount=,String(amount,'$###,##0.00') 转换后为$123,456.78
18.运行其它应用程序的Run
其语法格式为:Run(String{,windowstate})
windowstate的取值为Maximized、Minimized、Normal
Run执行成功返回1、否则返回-1
18、设置焦点函数SetFocus
19. SQL语句介绍
& & &1.建立和断开数据库的连接,使用connect
& & &语法格式为:
& & &connect &{using transactionobject}
& & &transactionobject表示事务对象,如果省略则默认使用SQLCA
& & &断开数据库连接语法为:
& & &disconnect &{using transactionobject}
& & &2.提交与回滚事务
& & &提交事务的语法为:
& & &commit {using transactionObject}
& & &回滚事务的语法为:
& & &rollback {using transactionObject}
& & &3.单行查询语句select
& & & & 语法格式:
& & & & select fieldlist into varlist from tableList&
& & & & where &criteria &{using transactionObject}
& & & & 例:int emp_num
& & & & select &employee.Emp_Lname,employee.Emp_name
& & & & into :sle_Lname.Text, :sle_Fname.Text&
& & & & from Employee
& & & & where employee.Emp_nbr= :emp_num
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:196566次
积分:2124
积分:2124
排名:第9571名
原创:38篇
转载:19篇
评论:49条
(1)(1)(10)(5)(2)(2)(13)(2)(9)(11)(2)(1)Promotions
Estimated Shipping
var someArray:Array = [1, 2, 3];
// literal value
var someArray:Array = new Array(1,2,3);
// Array constructor
function runtimeTest(sampleParameter:String){
trace(sampleParameter);
var sampleData:String = “hello”;
runtimeTest(sampleData);
function dynamicTest(sampleParameter:Object){
if (sampleParameter is String){
var exampleString:String = sampleP
// compiler error in strict mode
trace("String: " + exampleString);
else if (sampleParameter is Number){
var exampleNumber:Number = sampleP
// compiler error in strict mode
trace("Number: " + exampleNumber);
function typeTest(sampleParameter:Array){
trace(sampleParameter);
var exampleNumber:Number = 3;
typeTest(exampleNumber); // runtime error in ActionScript 3 standard mode
function typeTest(sampleParameter:Array){
trace(sampleParameter);
var exampleNumber = 3;
typeTest(exampleNumber); // runtime error in ActionScript 3
var myBoolean:Boolean =
var myINT:int = int(myBoolean);
trace(myINT); // 1
class A {}
class B extends A {}
var objectA:A = new A();
var objectB:B = new B();
var sampleArray:Array = new Array();
objectA = objectB; // Conversion succeeds.
objectB = sampleA // Conversion fails.
var quantityField:String = "3";
var quantity:int = quantityF // compile time error in strict mode
var quantityField:String = "3";
var quantity:int = int(quantityField); // Explicit conversion succeeds.
var exampleBoolean:Boolean =
var exampleUINT:uint = uint(exampleBoolean);
var exampleINT:int = int(exampleBoolean);
var exampleNumber:Number = Number(exampleBoolean);
trace(exampleUINT, exampleINT, exampleNumber); // 1 1 1
exampleBoolean =
exampleUINT = uint(exampleBoolean);
exampleINT = int(exampleBoolean);
exampleNumber = Number(exampleBoolean);
trace(exampleUINT, exampleINT, exampleNumber); // 0 0 0
trace(uint("5")); // 5
trace(uint("–5")); // . It wraps around from MAX_VALUE
trace(uint(" 27 ")); // 27
trace(uint("3.7")); // 3
trace(int("3.7")); // 3
trace(int("0x1A")); // 26
trace(Number("3.7")); // 3.7
trace(uint("5a")); // 0
trace(uint("ten")); // 0
trace(uint("17 63")); // 0
var exampleUint:uint = –3;
// Assign int/Number value to uint variable
trace(exampleUint); //
var exampleNumber:Number = exampleU
// Assign int/uint value to Number variable
trace(exampleNumber) //
var exampleInt:int = Number.MAX_VALUE + 1;
// Assign Number value to int variable
trace(exampleInt); // 0
exampleInt = uint.MAX_VALUE + 1;
// Assign uint value to int variable
trace(exampleInt); // 0
var numberToCast:N
for (numberToCast = –1; numberToCast&2; numberToCast++){
trace("Boolean(" + numberToCast +") is " + Boolean(numberToCast));
Boolean(–1) is true
Boolean(0) is false
Boolean(1) is true
var stringToCast:S // Uninitialized string is null.
trace(Boolean(stringToCast)); // false
var emptyStringToCast:String = ""; // empty string
trace(Boolean(emptyStringToCast)); // false
var wsStringToCast:String = " "; // white space only
trace(Boolean(wsStringToCast)); // true
var objectToCast:O // Uninitialized object is null.
trace(Boolean(objectToCast)); // false
objectToCast = new Object(); // instantiate
trace(Boolean(objectToCast)); // true
var objectToCast:Object = new Object();
var sampleBoolean:Boolean = objectToC
trace(sampleBoolean); // true
sampleBoolean = "random string";
trace(sampleBoolean); // true
sampleBoolean = new Array();
trace(sampleBoolean); // true
sampleBoolean = NaN;
trace(sampleBoolean); // false
var sampleArray:Array = ["primary",
"secondary", "tertiary"];
trace(String(sampleArray)); // primary,secondary,tertiary
var sampleDate:Date = new Date();
trace(String(sampleDate));
// Fri Jul 1 00:00:00 GMT-

我要回帖

更多关于 java数据类型有哪些 的文章

 

随机推荐