pb脚本
A. pb脚本语言
按第一段来说:int n=0 //这个要使用窗口的实例变量,你这是局域变量,被刺clicked后计数器都被清0了,当然无效 select 密码 into:pw from guanliyuan where 口令=:name and 密码=:code;这句sql语句也有问题,这些写法就是用户名和密码都要对上才能执行成功,既然都对上了,sql 里面的into 和下面判断都没啥实际意义了不是。 if sle_code.text=trim(pw) then n = n + 1//这句,汗,之前你的让pw = sle_code.text ,然后现在判断是不是相等?还有这个错误计数器N累加干嘛,密码对上了还累加错误次数计数器 还有我都不知道一个口令,一个密码,这两个概念有区别嘛,我就当是用户名或者用户号了你这么写吧//先把n定义为窗口实例变量
Integer ii_n = 0//登陆按钮event:clicked
String ls_pw
String ls_name,ls_code
ls_name = sle_name.Text
ls_code = sle_code.TextIF ls_name = ''THEN
MessageBox('提醒','请输入用户名和密码')
RETURN
END IFSELECT 密码 INTO:ls_pw FROM guanliyuan Where 口令 = :ls_name ;
IF SQLCA.SQLCode = 100 THEN //没找到用户
ii_n ++ //错误计数器累加
MessageBox('提醒','错误的用户名或密码') //其实是没有找到这个用户名
GOTO Error
END IF
//如果你允许空密码的话,而你的数据密码的字段允许NULL
IF IsNull(ls_pw) THEN ls_pw = ''IF ls_pw <> ls_code //输入的密码和数据库里的密码对不上
MessageBox('提醒','错误的密码,请重新输入')
ii_n++
GOTO Error
END IF//排除以上错误的情况后肯定密码对上了
Open(w_denglu_user)
Close(PARENT)
RETURN
Error:
IF ii_n = 3 THEN
MessageBox('提醒','你已达到最大次数,不能登录')
Close(PARENT)
END IF
B. pb常用的脚本
powerscript
C. 如何在pb脚本当中获取存储过程的返回值
本文拟以SYBASE ASE 10.X和11.X数据库为例,说明如何在PB脚本当中获取存储过程的返回值。作为一个存储过程,其输出的结果数据可能包括三类:SELECT结果集、RETURN结果、OUTPUT参数。尽管输出方式众多,但PB脚本仅仅借助简单的FETCH…INTO…语句即可全部获取这些输出数据,具体方式如下:
(一)在SYBASE ASE 10.X和11.X数据库当中创建一个存储过程deptroster,其有一个输入参数@deptno、两个输出参数@totsal 和 @avgsal、一个RETURN值@number_of_emps以及包含职员姓名和工资的SELECT结果集,可见除了输入参数@deptno外,其他均为输出数据,我们需要在PB脚本中获取,具体代码如下:
CREATE PROCEDURE deptroster @deptno integer,
@totsal double precision output,
@avgsal double precision output
AS
DECLARE @number_of_emps integer
SELECT emp_fname, emp_lname, salary FROM employee
WHERE dept_id = @deptno
SELECT @totsal = sum(salary),
@avgsal = avg(salary),
@number_of_emps = COUNT(*) FROM employee
WHERE dept_id = @deptno
RETURN @number_of_emps;
二)PB脚本当中我们需要捕获SELECT结果集、RETURN值和两个输出参数,其输出顺序也是按照“SELECT结果集、RETURN值、输出参数”顺序输出,具体代码如下:
integer fetchcount = 0
long lDeptno, rc
string fname, lname
double dSalary, dTotSal, dAvgSal
lDeptno = 100
//此处声明存储过程名称
DECLARE deptproc PROCEDURE FOR
@rc = dbo.deptroster
@deptno = :lDeptno,
@totsal = 0 output,
@avgsal = 0 output
USING SQLCA;
//此处开始执行存储过程
EXECUTE deptproc;
//判断执行结果
CHOOSE CASE SQLCA.sqlcode
CASE 0
//如果返回0则表示执行成功,至少存在一个SELECT结果集
//借助LOOP循环开始捕获这个SELECT结果集
DO
FETCH deptproc INTO :fname, :lname, :dSalary;
CHOOSE CASE SQLCA.sqlcode
CASE 0
fetchcount++
CASE 100
MessageBox ("End of Result Set", &
string (fetchcount) " rows fetched")
CASE -1
MessageBox ("Fetch Failed", &
//此处关闭存储过程
CLOSE deptproc;
CASE 100
// 如果返回100,则表示没有返回结果集.
// 此时不需要单独执行CLOSE语句.
MessageBox ("Execute Successful", "No result set")
CASE ELSE
//其他情况则表示存储过程执行失败,提示用户即可
MessageBox ("Execute Failed", &
string (SQLCA.sqldbcode) " = " &
D. PB中,对象的属性、事件、函数、脚本的基本概念
对象:可以理解为任何一个可视的控件,如一个窗口window、一个数据窗口datawindow、按钮bt等
对象的属性:如窗口的高height、宽width,这是对象的属性
事件:如窗口打开后发生什么事,open()事件、按钮的单击事件,单击后发生什么事;
函数:系统、自定义,系统函数,如字符串函数string,自定义则是你自己定义为处理某事的函数
脚本:即为代码,在事件、自定义函数中写的代码,无非是定义变量、业务处理的代码。
E. pb 执行SQL脚本文件 建立数据和表
pb中建立数据库吗,当然是点那个数据库按钮了,你然后在ISQLsession下面复制粘贴你的sql脚本就是了,把绿色的东西去掉就可以了。我这里有个例子
是删除了没有用的东西之后的代码
create table DEPT
(
DEPTNO char(2) not null,
DEPTNAME varchar(20) ,
primary key (DEPTNO)
);
create table COURSE
(
CNO char(4) not null,
CNAME varchar(20) ,
CREDIT integer ,
primary key (CNO)
);
create table STU
(
STUNO char(8) not null,
DEPTNO char(2) ,
STUNAME varchar(10) ,
STUSEX char(2) ,
STUAGE integer ,
STUCODE char(10) ,
primary key (STUNO)
);
create table TEA
(
TEANO char(3) not null,
DEPTNO char(2) ,
CNO char(4) ,
TEANAME varchar(10) ,
TEASEX char(2) ,
TEACODE char(10) ,
primary key (TEANO)
);
create table SC
(
STUNO char(8) not null,
CNO char(4) not null,
SCORE integer ,
primary key (STUNO, CNO)
);
alter table STU
add foreign key FK_STU_RELATION__DEPT (DEPTNO)
references DEPT (DEPTNO) on update restrict on delete restrict;
alter table TEA
add foreign key FK_TEA_RELATION__DEPT (DEPTNO)
references DEPT (DEPTNO) on update restrict on delete restrict;
alter table TEA
add foreign key FK_TEA_RELATION__COURSE (CNO)
references COURSE (CNO) on update restrict on delete restrict;
alter table SC
add foreign key FK_SC_RELATION__STU (STUNO)
references STU (STUNO) on update restrict on delete restrict;
alter table SC
add foreign key FK_SC_RELATION__COURSE (CNO)
references COURSE (CNO) on update restrict on delete restrict;
把这些粘贴到ISQL部分中去就可以了,然后执行,design—excute isql就可以了,刚刚执行完之后看不到数据库中的表,要先断开disconnect,然后connect。相当与一次刷新
F. PB脚本语句中SELECT COUNT(*) INTO :li_result FROM ty_log_check Using sqlca;为什么返回值总为0
SQLCOde 返回是0!说明 sql 语句执行成功啊!
G. AE2017版 FXPB脚本怎么安装
工具材料:
AE安装包
amtlib替换文件
操作方法
01
Adobe After Effects简称AE,是一款视频编辑和处理软件,现在好多人都自己拍视频,然后处理一下,做个特效什么的在好友圈晒晒。都开始学习这款软件了,但AE正版是要收费的,试用版只能用7天,怎么办?接下来我就教大家怎么安装破解版的AE。
02
步骤2:先下载好AE2017的安装包与 破解器
03
步骤3:打开安装包文件夹,点击Set up,最好以管理员身份运行
04
步骤4:如果提示要ID就注册个AdobeID 输入ID,然后继安装
05
步骤5:安装完成后,如果需要登录ID,选择以后登录,也可以直接登录,进去界面后可以试用7天
06
步骤6:关闭AE软件,打开破解器
07
步骤7:然后按如图所示进行选择,点击INSTALL
08
步骤8:弹出框出来后,选择C盘
09
步骤9:然后点击ProgramFiles,点击打开
10
步骤10:然后点击Adobe,点击打开
11
步骤11:点击如图所示的文件夹,点击打开
12
步骤12:点击Supports Files,点击打开
13
步骤13:点击打开后,拉到底部,点击amtlib.dll然后打开AE破解就完成了
14
输入如图所示,然后输入AE搜软件即可下载
H. pb基本开发步骤怎么走
其实最简单的就是在windows上安装pb
1、找程序:找一个pb安装程序,最新版的是pb11.2
2、安装程序:安装pb,其中会默认安装anywhere sql,如果你使用sybase的数据库,在开发的时候,这个很有用,可以当做一个小型的数据库管理软件
3、配置数据库:安装好后,你要做的是按你的要求建一个数据库,刚才说了,如果用sybase数据库,就可以用anywhere sql开发,里面有一个sybase central管理中心,可以用来配置的
4、连接数据库:最简单的就是使用odbc,在控制面版中的'数据源'进行
5、pb连接数据库:你可以看一下相关例子,其实就是设置sqlca的参数,并connect就行了