PB草稿

来源:互联网 发布:linux如何查看网络连接 编辑:程序博客网 时间:2024/04/30 22:54

 integer li_fnum, li_bytes

blob Emp_Id_Pic

li_fnum = FileOpen("C:/HR/EMP_PIC1.BMP",StreamMode!)

li_bytes = FileRead(li_fnum, Emp_Id_Pic)
///////////////////////////////////////////////////////
Pb9自定义纸张
 
最新发现:Pb9自定义纸张竟如此简单,就三条语句

dw_1.Object.Datawindow.Print.Custompage.Length = "100"
dw_1.Object.Datawindow.Print.Custompage.Width = "200"
dw_1.Object.Datawindow.Print.Paper.Size = "256"

以上定义了个高10厘米,宽20厘米的纸张。
//////////////////////////////////////////////////////
怎样改变某行某列的背景色?
dw_1.Modify("unit_price.background.color = '11665407 ~t if(getrow()=" + string(i) + ",rgb(0,255,0),rgb(255,255,255))'")
//////////////////////////////////////////////////////
select count (*) into :li_count8 from ygml where year(rbdwsj) =year(getdate( ))  using sqlca;

请问这一句有问题么

我想找出当年所有的数据
即只要是2008年的都显示出来
2007-01-01
2008-01-01
2008-02-01

即显示两条??
要看rbdwsj是个什么类型的,如果是datetime,smalldatetime,可以:
select count (*) into :li_count8 from ygml where datediff( year, rbdwsj, getdate() ) = 0  using sqlca;
如果是char,varchar
select count (*) into :li_count8 from ygml where substring(rbdwsj, 1, 4) = convert(char(4), getdate(), 120)  using sqlca;
/////////////////////////////////////////////////////
在pb中怎么将sql执结果直接存入txt中??
用SQL动态创建个DW,然后dw.saveas('c:/aaa.txt')
/////////////////////////////////////////
dw_1.setfilter("(code like '%"+em_1.text+"%') and (deport_top_good = 2)")
/////////////////////////////////////////
做一个单行编辑框,输入单位编号,假设编号长度是8位,我输入"123",点击回车后,编辑框内自动填充为"00000123",代码应该怎么写呢?
我写了一个fill("0",8) 并加入到keydown事件中,但是运行无效。
放到editchanged事件里面
text=fill('0',8 - len(text)) + text
//////////////////////
pb里将表a中的一条记录的值复制到另外一条记录就用一个update语句能实现吗
例 表 a
  id  name  sex  age 
001  张三  男  20
002    0    0    0
结果为  表 a
id    name  sex  age
001  张三  男  20
002  张三  男  20
update a
set a.[name]=b.[name],a.sex=b.sex,a.age=b.age
from a,a b
where a.id='002' and b.id='001'

/////////////////////////////////////////////////////
today()是powerscript脚本中的函数.
getdate()是sql server/sybase的取系统时间.
sysdate是oracle的系统时间.
不同的数据库需要的不同的函数
以下为sql server的.
--当天
select count(*) into :li_count  from employee where convert(varchar(10),出生日期,120)= convert(varchar(10),getdate(),120);
--本月
select count(*) into :li_count  from employee where month(出生日期)= Month(getdate());
///////////////////
Pb的datewindow 保存为Excel的语句,可是不知道哪里出错了,if语句里面的内容没有执行.无法达到保存效果.
OLEObject xlapp,xlsub
long ll_cols,ll_rows,ll_cnt1,ll_cnt2

xlapp = Create OLEObject
if xlapp.ConnectToNewObject("Excel.Sheet") < 0 then
    MessageBox("Caption","Connection failed!")
    return
end if
//ll_cols = long(adw_datastore.Object.DataWindow.Column.Count)
//ll_rows = adw_datastore.RowCount()
//xlapp.Application.WorkBooks.Open("C:/bm.xls")  //可以指定路径打开文件
xlapp.Application.WorkBooks.Add
xlApp.Application.Visible = false
/////////////

xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]  //指定第几个sheet
clipboard(dw_1.describe('datawindow.data'))  //其实你把此处修改一下就可以达到你的要求
xlsub.paste()  //其实你把此处修改一下就可以达到你的要求
xlapp.Application.ActiveWorkbook.saved = false
xlapp.Application.activeworkbook.saveas("c:/test.xls")  //可以动态选择保存路径、名称
xlapp.Application.WorkBooks.Close()
xlapp.DisConnectObject()
Destroy xlapp

  //测试表create table test_jpg( id int identity(1,1), jpg image )
//做个计算域字段,计算公式:bitmap(string(id) + '.jpg')  //id为主键列
//dw的retrieveend事件代码:
Long        ll_id
Blob        lb_image
Integer li_FileNum, i

This.SetRedraw(False)
FOR i = 1 To RowCount()
    //取主键ID
    ll_id = This.Object.id[i]
    //取图片
    SelectBlob jpg Into :lb_image From test_jpg Where id = :ll_id;
    //存图片到硬盘上
    li_FileNum = FileOpen( String(ll_id) + '.jpg', StreamMode!, Write!, Shared!, Replace!)
    FileWrite(li_FileNum, lb_image)
    FileClose(li_FileNum)
NEXT
This.SetRedraw(True)
///////////////////////////////////////////////
this.text = string(date(trim(this.text)), 'yyyy年mm月dd日')

 

不管用户输入的是哪种格式,如:2008.1.2、2008-01-2、08.2.3,都会自动转换。
如果用户输入的日期不正确,则会转换成1900年01月01日。
//////////////

///////////////////////////
//
//string  qy
//qy = "(" + "用户名" + "=" + "'" + sle_1.text + "'" + ")" + "and"+ "(" + "用户口令" + "=" + "'" + sle_2.text + "'" +")"
//dw_1.Setfilter(qy)
//Filter(dw_1)
///////////////////////查询按钮
String ls_Old,ls_New

//获得数据窗口的SQL查询语句
ls_Old = dw_1.GetSQLSelect()

//得到新的SQL语句
ls_New=ls_Old+" WHERE "+ddlb_1.text+&
           ddlb_2.text+"'"+sle_1.text+"'"

//为数据窗口设置新的SQL语句
IF dw_1.SetSQLSelect(ls_New) = -1 THEN
 MessageBox("警告","查询失败!",StopSign!)
ELSE
dw_1.SetTransObject(sqlca)
dw_1.Retrieve()
dw_1.SetSQLSelect(ls_Old)
END IF
///////////////////////////////////////
  ///////////chkdsk x: /r
 
String  sid, sname, ssex, sdepartment
int   sage
//  声明游标StuCursor
DECLARE  StuCursor  CURSOR FOR
SELECT id, name,sex,age
 FROM  student
 WHERE  department = : sdepartment ;
sdepartment  = sle_1.text   // 要查询的家庭地址
lb_1.reset()    //  清除ListBox中内容
open  StuCursor;//打开游标
// 提取数据
FETCH  StuCursor INTO :sid,:sname,:ssex,:sage;
DO WHILE SQLCA.SQLCODE = 0
 //将读取的数据加到ListBox中
 lb_1.additem(sid+"   "+sname+"   "+ssex+"   "+String(sage))
 // 继续提取下一条记录数据
 FETCH  StuCursor INTO :sid,:sname,:ssex,:sage;
LOOP
Close StuCursor;
 

 

 

 

原创粉丝点击