12 个解决方案
#1
在创建DW 对象向导的选择数据源那步,选择Stored Procedure ....
#2
用stored procedure 的话,当存储过程改变的话怎么通过代码改变??
例如:1.调用存储过程A,通过stored procedure 显示结果;
2.现要换调用存储过程B,怎么通过该datawindow 显示结果
3.就是要在同一个窗口中,调用不同的存储过程,并且在同一个datawindow中显示结果
例如:1.调用存储过程A,通过stored procedure 显示结果;
2.现要换调用存储过程B,怎么通过该datawindow 显示结果
3.就是要在同一个窗口中,调用不同的存储过程,并且在同一个datawindow中显示结果
#3
楼主可以参照我下面收藏的内容
利用pb数据窗口和存储过程创建动态报表的模板程序,使用这个模板后不再需要在前台编写任何代码,只需要写好存储过程和配置好相关信息即可,这样pb程序中报表都可以直接用模板来完成显示,而不用写任何的代码和窗口;以下列出这个功能的思路,
/*============创建动态报表用的保存存储过程相关信息的表============
create table up_create_report(up_name varchar(80) not null)
go
create table up_argument_list( --存储过程参数表
up_name varchar(80) not null,
argu_xh integer not null,
argu_name varchar(30) not null,
argu_name_display varchar(50) null,
argu_type varchar(30) not null default 'varchar(30),
is_use varchar(1) not null default '1',
primary key(up_name,argu_xh)
go
===================用来被调用的存储过程==============
create procedure up_test_select2
as
select no '编码',code '号码',in_date '日期',price '进价' from code
go
*/
/*=========数据窗口创建和数据检索
String ls_create, ls_err ,ls_sql
ls_sql = trim(sle_1.text)
if ls_sql ='' or isnull(ls_sql) then return
ls_sql = "1 exec up_test_select_main;1 @child_pro ='" + ls_sql +"'"
ls_create = sqlca.SYntaxfromsql(ls_sql, "style(type=grid)", ls_err)
If len(ls_err) > 0 Then
MessageBox("sql", ls_err)
Return
End If
dw_1.create(ls_create, ls_err)
If len(ls_err) > 0 Then
MessageBox("create", ls_err)
Return
End If
//:修改数据窗口的列标题和内容的外观(颜色,是否突出显示,是否奇偶行颜色区分等)
dw_1.SetTransObject(sqlca)
dw_1.Retrieve()
*/
利用pb数据窗口和存储过程创建动态报表的模板程序,使用这个模板后不再需要在前台编写任何代码,只需要写好存储过程和配置好相关信息即可,这样pb程序中报表都可以直接用模板来完成显示,而不用写任何的代码和窗口;以下列出这个功能的思路,
/*============创建动态报表用的保存存储过程相关信息的表============
create table up_create_report(up_name varchar(80) not null)
go
create table up_argument_list( --存储过程参数表
up_name varchar(80) not null,
argu_xh integer not null,
argu_name varchar(30) not null,
argu_name_display varchar(50) null,
argu_type varchar(30) not null default 'varchar(30),
is_use varchar(1) not null default '1',
primary key(up_name,argu_xh)
go
===================用来被调用的存储过程==============
create procedure up_test_select2
as
select no '编码',code '号码',in_date '日期',price '进价' from code
go
*/
/*=========数据窗口创建和数据检索
String ls_create, ls_err ,ls_sql
ls_sql = trim(sle_1.text)
if ls_sql ='' or isnull(ls_sql) then return
ls_sql = "1 exec up_test_select_main;1 @child_pro ='" + ls_sql +"'"
ls_create = sqlca.SYntaxfromsql(ls_sql, "style(type=grid)", ls_err)
If len(ls_err) > 0 Then
MessageBox("sql", ls_err)
Return
End If
dw_1.create(ls_create, ls_err)
If len(ls_err) > 0 Then
MessageBox("create", ls_err)
Return
End If
//:修改数据窗口的列标题和内容的外观(颜色,是否突出显示,是否奇偶行颜色区分等)
dw_1.SetTransObject(sqlca)
dw_1.Retrieve()
*/
#4
ls_newsyntax = sqlca.syntaxfromsql(as_sql ,'style(type=grid)',ls_errsyntaxfromSQL)
中的as_sql 可以是:
"exec P_report_*******"
中的as_sql 可以是:
"exec P_report_*******"
#6
@child_pro是不是指存储过程的参数,要是参数有多个怎么做,能说明吗
up_test_select_main是指存储过程吗
#7
up!!!!
#8
还有个补充的问题:
在通过存储过程获得的datawindow数据,怎么再进一步的多条件查询????
在通过存储过程获得的datawindow数据,怎么再进一步的多条件查询????
#9
用dw_1.setfilter("列名 like'%"+b+"%'")的筛选方法,无法达到动态报表,不知道怎么获取存储过程结果的各各列名~~~~好通过通用的多条件查询进行查找~~筛选~~~~
#10
问题解决了~~谢谢各位了~~~
#11
sdfdsfd
#12
问题怎么解决的 使用什么办法
#1
在创建DW 对象向导的选择数据源那步,选择Stored Procedure ....
#2
用stored procedure 的话,当存储过程改变的话怎么通过代码改变??
例如:1.调用存储过程A,通过stored procedure 显示结果;
2.现要换调用存储过程B,怎么通过该datawindow 显示结果
3.就是要在同一个窗口中,调用不同的存储过程,并且在同一个datawindow中显示结果
例如:1.调用存储过程A,通过stored procedure 显示结果;
2.现要换调用存储过程B,怎么通过该datawindow 显示结果
3.就是要在同一个窗口中,调用不同的存储过程,并且在同一个datawindow中显示结果
#3
楼主可以参照我下面收藏的内容
利用pb数据窗口和存储过程创建动态报表的模板程序,使用这个模板后不再需要在前台编写任何代码,只需要写好存储过程和配置好相关信息即可,这样pb程序中报表都可以直接用模板来完成显示,而不用写任何的代码和窗口;以下列出这个功能的思路,
/*============创建动态报表用的保存存储过程相关信息的表============
create table up_create_report(up_name varchar(80) not null)
go
create table up_argument_list( --存储过程参数表
up_name varchar(80) not null,
argu_xh integer not null,
argu_name varchar(30) not null,
argu_name_display varchar(50) null,
argu_type varchar(30) not null default 'varchar(30),
is_use varchar(1) not null default '1',
primary key(up_name,argu_xh)
go
===================用来被调用的存储过程==============
create procedure up_test_select2
as
select no '编码',code '号码',in_date '日期',price '进价' from code
go
*/
/*=========数据窗口创建和数据检索
String ls_create, ls_err ,ls_sql
ls_sql = trim(sle_1.text)
if ls_sql ='' or isnull(ls_sql) then return
ls_sql = "1 exec up_test_select_main;1 @child_pro ='" + ls_sql +"'"
ls_create = sqlca.SYntaxfromsql(ls_sql, "style(type=grid)", ls_err)
If len(ls_err) > 0 Then
MessageBox("sql", ls_err)
Return
End If
dw_1.create(ls_create, ls_err)
If len(ls_err) > 0 Then
MessageBox("create", ls_err)
Return
End If
//:修改数据窗口的列标题和内容的外观(颜色,是否突出显示,是否奇偶行颜色区分等)
dw_1.SetTransObject(sqlca)
dw_1.Retrieve()
*/
利用pb数据窗口和存储过程创建动态报表的模板程序,使用这个模板后不再需要在前台编写任何代码,只需要写好存储过程和配置好相关信息即可,这样pb程序中报表都可以直接用模板来完成显示,而不用写任何的代码和窗口;以下列出这个功能的思路,
/*============创建动态报表用的保存存储过程相关信息的表============
create table up_create_report(up_name varchar(80) not null)
go
create table up_argument_list( --存储过程参数表
up_name varchar(80) not null,
argu_xh integer not null,
argu_name varchar(30) not null,
argu_name_display varchar(50) null,
argu_type varchar(30) not null default 'varchar(30),
is_use varchar(1) not null default '1',
primary key(up_name,argu_xh)
go
===================用来被调用的存储过程==============
create procedure up_test_select2
as
select no '编码',code '号码',in_date '日期',price '进价' from code
go
*/
/*=========数据窗口创建和数据检索
String ls_create, ls_err ,ls_sql
ls_sql = trim(sle_1.text)
if ls_sql ='' or isnull(ls_sql) then return
ls_sql = "1 exec up_test_select_main;1 @child_pro ='" + ls_sql +"'"
ls_create = sqlca.SYntaxfromsql(ls_sql, "style(type=grid)", ls_err)
If len(ls_err) > 0 Then
MessageBox("sql", ls_err)
Return
End If
dw_1.create(ls_create, ls_err)
If len(ls_err) > 0 Then
MessageBox("create", ls_err)
Return
End If
//:修改数据窗口的列标题和内容的外观(颜色,是否突出显示,是否奇偶行颜色区分等)
dw_1.SetTransObject(sqlca)
dw_1.Retrieve()
*/
#4
ls_newsyntax = sqlca.syntaxfromsql(as_sql ,'style(type=grid)',ls_errsyntaxfromSQL)
中的as_sql 可以是:
"exec P_report_*******"
中的as_sql 可以是:
"exec P_report_*******"
#5
#6
@child_pro是不是指存储过程的参数,要是参数有多个怎么做,能说明吗
up_test_select_main是指存储过程吗
#7
up!!!!
#8
还有个补充的问题:
在通过存储过程获得的datawindow数据,怎么再进一步的多条件查询????
在通过存储过程获得的datawindow数据,怎么再进一步的多条件查询????
#9
用dw_1.setfilter("列名 like'%"+b+"%'")的筛选方法,无法达到动态报表,不知道怎么获取存储过程结果的各各列名~~~~好通过通用的多条件查询进行查找~~筛选~~~~
#10
问题解决了~~谢谢各位了~~~
#11
sdfdsfd
#12
问题怎么解决的 使用什么办法