仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 785|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之如何使用PowerBulider的Datawindow创建...

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:37:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。window|静态
天下上一切的报表,要算中国的报表最为庞大了。看老外的报表表头很复杂都是只要一行差未几。可是中国人的表头一样平常都有好几层,给你来上个两层已是很不错的一件事变了。别的中国人最喜好的就是举动式的表头,意义就是往年是这类的来岁大概要酿成别的一种格局了。以是这也对编写表头程序的程序员来说提出了一个困难。我们也晓得PowerBuilder的datawindow有壮大的检索功效,并且Powerbuilder就是一个数据库前端开辟工具,可是初学者都以为,它只能作为静态的报表,实在它面前埋没着更年夜的功效,datawindow也能制造静态的报表范例。
上面的一段程序是我之前在做项目标时分使用的,但愿能给列位带来一个提醒
stringls_part1,ls_aux1,ls_aux2,is_temp,ls_syntax
ulongai_x1=0,ai_x2=0,ai_y1=0,ai_y2=88,ai_style=0,ai_width=0,ai_linecolor=1,h_y1,h_y2
ulongcil_posx,cil_width,temp_x,temp_y,temp_cil
integerchar_w,i=1,font=19
ulongf1=0,f2=0,f3=0,save_i1,save_i2
ulongcol_table_len=0,as_old1,as_old2,col_len2=0,col_len3=0
stringas_syntax,as_table
ulongy0,y1,y2,y3,y4,id=0
stringas_name,as_unit,as_column
stringas_head1,as_head2,as_head3,as_head4,as_head5,as_date
ulongheight

//char_w=margin.paper_size*1000/margin.font_size
//char_w=1500/margin.font_size*10
//char_w=1500/100*10
char_w=1
of_profilestring_margin()
//margin.top=250
//margin.bottom=250
//margin.right=250
//margin.left=250
//margin.head=4330
//margin.detail=730
//margin.footer=100
//margin.title=2000
//margin.paper_size=35.4
//margin.font_size=30
y0=margin.title
y1=y0+(margin.head-y0)/4
y2=y0+2*(margin.head-y0)/4
y3=y0+3*(margin.head-y0)/4
y4=margin.head
height=y1-y0

as_table=release8;~r~n+&
datawindow(units=3timer_interval=0color=1073741824processing=0print.margin.bottom=+string(margin.bottom)+&
print.margin.left=+string(margin.left)+print.margin.right=+string(margin.right)+print.margin.top=+string(margin.top)+&
print.preview.buttons=no)header(height=+string(margin.head)+)detail(height=+string(margin.detail)+&
)footer(height=+string(margin.footer)+)table()
dowhiletable[i].name""
as_name=table[i].name
as_unit=table[i].unit
cil_width=table[i].len*char_w
as_column="column_"+string(id)
as_head1="h1_"+string(id)
as_head2="h2_"+string(id)
as_head3="h3_"+string(id)
as_head4="h4_"+string(id)
as_head5="h11_"+string(id)//Ö»ÓÐÒ»²ãµÄ¿ÆĿͬÆäËû¿ÆÄ¿Çø·Ö£¬ÕâÑù¶Ô×ÖÌåµÄ±ä»¯ÓкܴóºÃ´¦
choosecasetable[i].layer
case"1"
iftable[i].unit=""then
iff1=0then
save_i1=i
f1=1
table[i].x=col_table_len
else
temp_x=table[save_i1].x
temp_cil=col_table_len-table[save_i1].x
iftable[save_i1].len*char_w>=temp_cilthen
temp_cil=table[save_i1].len*char_w
col_table_len=table[save_i1].x+temp_cil
endif
ls_aux1=uf_text("header",table[save_i1].name,as_head1,temp_x,y0,height,temp_cil)
as_syntax+=ls_aux1
//µÚÒ»²ãÓëµÚ¶þ²ãÖ®¼äµÄÁ¬Ïß
AI_x1=temp_x
AI_x2=col_table_len
h_Y1=y1
h_Y2=y1
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1

AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y0
h_Y2=y4
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
h_Y1=0
h_Y2=margin.detail
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
col_len2=0
save_i1=i
f1=1
table[i].x=col_table_len
endif
else//Ö»ÓÐÒ»²ãµÄ¿ÆÄ¿
iff1=1then
temp_x=table[save_i1].x
temp_cil=col_table_len-table[save_i1].x
iftable[save_i1].len*char_w>=temp_cilthen
temp_cil=table[save_i1].len*char_w
col_table_len=table[save_i1].x+temp_cil
endif
ls_aux1=uf_text("header",table[save_i1].name,as_head1,temp_x,y0,height,temp_cil)
as_syntax+=ls_aux1
//µÚÒ»²ãÓëµÚ¶þ²ãÖ®¼äµÄÁ¬Ïß
AI_x1=temp_x
AI_x2=col_table_len
h_Y1=y1
h_Y2=y1
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1

f1=0
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y0
h_Y2=y4
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
h_Y1=0
h_Y2=margin.detail
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
endif
id++
as_table=uf_tablecolumn(as_table,as_column)
ls_aux1=uf_detailcolumn(as_column,id,col_table_len,margin.detail/4,margin.detail,cil_width,font)
as_syntax+=ls_aux1
temp_y=(y3+y0)/2
ls_aux1=uf_text("header",table[i].name,as_head5,col_table_len,temp_y,height,cil_width)
as_syntax+=ls_aux1
ls_aux1=uf_text("header",table[i].unit,as_head4,col_table_len,y3,height,cil_width)
as_syntax+=ls_aux1
col_table_len+=cil_width
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y0
h_Y2=y4
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
h_Y1=0
h_Y2=margin.detail
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
endif
case"2"
iftable[i].unit=""then//´æÔÚµÚÈý²ã
iff2=0then
save_i2=i
f2=1
table[i].x=col_table_len
else//ͬʱ°ÑÉϴμǼµÄµÚ¶þ²ã
temp_x=table[save_i2].x
temp_cil=col_table_len-table[save_i2].x
iftable[save_i2].len*char_w>=temp_cilthen
temp_cil=table[save_i2].len*char_w
col_table_len=table[save_i2].x+temp_cil
endif
ls_aux1=uf_text("header",table[save_i2].name,as_head2,temp_x,y1,height,temp_cil)
as_syntax+=ls_aux1
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y1
h_Y2=y2
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//µÚ¶þ²ãÓëµÚÈý²ãÖ®¼äµÄÁ¬Ïß
AI_x1=temp_x
AI_x2=col_table_len
h_Y1=y2
h_Y2=y2
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
col_len3=0
save_i2=i
f2=1
table[i].x=col_table_len
endif
f3=1
else//ûÓеÚÈý²ã
iff2=1then
temp_x=table[save_i2].x
temp_cil=col_table_len-table[save_i2].x
iftable[save_i2].len*char_w>=temp_cilthen
temp_cil=table[save_i2].len*char_w
col_table_len=table[save_i2].x+temp_cil
endif
ls_aux1=uf_text("header",table[save_i2].name,as_head2,temp_x,y1,height,temp_cil)
as_syntax+=ls_aux1
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y1
h_Y2=y2
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//µÚ¶þ²ãÓëµÚÈý²ãÖ®¼äµÄÁ¬Ïß
AI_x1=temp_x
AI_x2=col_table_len
h_Y1=y2
h_Y2=y2
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
f2=0
endif
id++
as_table=uf_tablecolumn(as_table,as_column)
ls_aux1=uf_detailcolumn(as_column,id,col_table_len,margin.detail/4,margin.detail,cil_width,font)
as_syntax+=ls_aux1
temp_y=(y1+y2)/2
ls_aux1=uf_text("header",table[i].name,as_head2,col_table_len,temp_y,height,cil_width)
as_syntax+=ls_aux1
ls_aux1=uf_text("header",table[i].unit,as_head4,col_table_len,y3,height,cil_width)
as_syntax+=ls_aux1
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y1
h_Y2=y4
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
h_Y1=0
h_Y2=margin.detail
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
col_table_len+=cil_width
endif
case"3"
id++
as_table=uf_tablecolumn(as_table,as_column)
ls_aux1=uf_detailcolumn(as_column,id,col_table_len,margin.detail/4,margin.detail,cil_width,font)
as_syntax+=ls_aux1
ls_aux1=uf_text("header",table[i].name,as_head3,col_table_len,y2,height,cil_width)
as_syntax+=ls_aux1
ls_aux1=uf_text("header",table[i].unit,as_head4,col_table_len,y3,height,cil_width)
as_syntax+=ls_aux1
AI_x1=col_table_len
AI_x2=col_table_len
//¿ÉÄÜÔÚµÚÈý²ãÖÐÒ»¿ªÊ¼¾ÍÓйÂÁ¢µÄ¶þ¼¶¿ÆÄ¿Òò´ËÓ¦¸Ã´Óy1->y4
iff3=1then
h_Y1=y1
h_Y2=y4
f3=0
else//¿ÉÄÜÔÚµÚÈý²ãÖÐÒ»¿ªÊ¼²»ÊǹÂÁ¢µÄ¶þ¼¶¿ÆÄ¿Òò´ËÓ¦¸Ã´Óy2->y4
h_Y1=y2
h_Y2=y4
endif
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
h_Y1=0
h_Y2=margin.detail
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
col_len3=1
col_table_len+=cil_width
endchoose
i++
loop
iff1=1then
temp_x=table[save_i1].x
temp_cil=col_table_len-table[save_i1].x
iftable[save_i1].len*char_w>=temp_cilthen
temp_cil=table[save_i1].len*char_w
col_table_len=table[save_i1].x+temp_cil
endif
ls_aux1=uf_text("header",table[save_i1].name,as_head1,temp_x,y0,height,temp_cil)
as_syntax+=ls_aux1
id++
//µÚÒ»²ãÓëµÚ¶þ²ãÖ®¼äµÄÁ¬Ïß
AI_x1=temp_x
AI_x2=col_table_len
h_Y1=y1
h_Y2=y1
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
endif
iff2=1then
temp_x=table[save_i2].x
temp_cil=col_table_len-table[save_i2].x
iftable[save_i2].len*char_w>=temp_cilthen
temp_cil=table[save_i2].len*char_w
col_table_len=table[save_i2].x+temp_cil
endif
ls_aux1=uf_text("header",table[save_i2].name,as_head1,temp_x,y1,height,temp_cil)
as_syntax+=ls_aux1
//µÚ¶þ²ãÓëµÚÈý²ãÖ®¼äµÄÁ¬Ïß
AI_x1=temp_x
AI_x2=col_table_len
h_Y1=y2
h_Y2=y2
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y1,0,0,1)
as_syntax+=ls_aux1
endif

//±í¸ñµÄ×î×ó¶ËµÄheaderÖ±Ïß
id++
AI_x1=0
AI_x2=0
h_Y1=y0
h_Y2=y4
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//±í¸ñµÄ×î×ó¶ËµÄdetailÖ±Ïß
id++
AI_x1=0
AI_x2=0
h_Y1=0
//h_Y2=margin.detail-3
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//±í¸ñµÄ×îÓҶ˵ÄheaderÖ±Ïß
id++
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=y0
h_Y2=y4
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//±í¸ñµÄ×îÓҶ˵ÄdetailÖ±Ïß
id++
AI_x1=col_table_len
AI_x2=col_table_len
h_Y1=0
//h_Y2=margin.detail-3
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//±í¸ñµÄ×îÉ϶˵ÄheaderÖ±Ïß
id++
AI_x1=0
AI_x2=col_table_len
h_Y1=y0
h_Y2=y0
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
//±í¸ñµÄµÚÈý²ãÓ뵥λ֮¼äµÄheaderÖ±Ïß
id++
h_Y1=y3
h_Y2=y3
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1

//±í¸ñÔÚheaderÇøÓòÖÐ×îµ×²¿µÄÖ±Ïß
h_Y1=y4-50
h_Y2=y4-50
ls_aux1=uf_lineh(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1

//±í¸ñµÄÔÚdetailÇøÓò×îµ×²¿µÄÖ±Ïß
id++
h_Y1=margin.detail-50
h_Y2=margin.detail-50
ls_aux1=uf_lined(id,Ai_x1,h_y1,Ai_x2,h_y2,0,0,1)
as_syntax+=ls_aux1
/*

id++
h_Y1=margin.detail-10
h_Y2=margin.detail-10
ls_aux1=uf_lined(id,ai_x1,20,ai_x2,20,0,0,1)
as_syntax+=ls_aux1
*/
//ÒÔÏÂÊÇ´¦Àí±í¸ñµÄ±êÌâ¼°Æäҳü¡¢Ò³½Å

//cil_width=len("Õã½
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-19 18:57:37 | 只看该作者
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-27 15:19:49 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-5 08:12:32 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
再见西城 该用户已被删除
5#
发表于 2015-2-11 08:11:31 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
谁可相欹 该用户已被删除
6#
发表于 2015-3-2 00:46:25 | 只看该作者
入门没那么困难,精通没那么容易
若相依 该用户已被删除
7#
发表于 2015-3-11 01:29:07 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-17 18:09:41 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
admin 该用户已被删除
9#
发表于 2015-3-24 18:23:37 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 18:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表