在powerbuilder中,如何用SQL语句直接创建数据窗口对象?

在powerbuilder中,不想通过数据窗口对象向导创建数据窗口对象,想直接用sql语句创建数据窗口对象,powerbuilder支持这样做吗,支持的话该如何创建呢,求高手指点。

SQL语句是不可以直接创建数据库窗口对象的。

数据库窗口对象,它包括了SQL 检索语句、结果显示的样式、检索条件设置等等。

也就是说SQL语句只是数据库窗口的一部份。

而PB中是有函数可以动态生成数据库窗口。

例:SyntaxFromSQL 与create 函数

以下代码为:动态生成数据源为 ”select * from table“的,数据库窗口。


long  ll_row
string  ls_error
string  str_pre
string  str_syntax
ls_syntax = "select * from table"
str_pre = "style(type=grid) column(color=0 background.mode=1 "+&        "font.face='Tahoma' Font.Family=0 Font.Height=-9 "+&
"Font.pitch=2 Font.charset=134) "+&
"text(color=255) datawindow (color=16777215)" 
dw_1.create(sqlca.SyntaxFromSQL (ls_syntax,str_pre,ls_error),ls_error)
if ls_error <> "" then messagebox("",ls_error)
dw_1.settransobject(sql_kf)
dw_1.retrieve()
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-09
//步骤看起来很复杂,其实可以把他写进一个函数中,以后直接调用就方便很多了
//以下是动态生成dw_1的例子,假设连接事务为sqlca:
string mysql
string syn,err
mysql = "select * from 表"
syn = sqlca.syntaxfromsql( mysql , "style(type=grid)" , err )
if trim(err) = '' then
dw_1.create( syn ,err )
if trim(err) = '' then
dw_1.settransobject( sqlca)
dw_1.retrieve( )
else
messagebox("提示","生成数据源时出错:~r" + err )
return
end if
else
messagebox("提示","生成数据源语法时出错:~r" + err )
return
end if
第2个回答  2010-08-09
SQL只有在数据库上才能执行,PB不行。

PB的数据窗口只是打包,把SQL查询出来的数据打包。

你可以试着做一个控件,传入SQL,然后自动生成窗口。原理说穿了和你说的“通过数据窗口对象向导创建数据窗口对象”一个实现方式,只不过外表上看来,好像pb执行了一个sql,创建一个数据窗口。

这就是面向对象编程。本回答被提问者采纳
第3个回答  2010-08-09
数据窗口下,点sql那个钮,然后再在菜单栏点design -- convert to syntax

编辑即可本回答被网友采纳
第4个回答  2010-08-09
自动生成

在powerbuilder中,如何用SQL语句直接创建数据窗口对象?
SQL语句是不可以直接创建数据库窗口对象的。 数据库窗口对象,它包括了SQL 检索语句、结果显示的样式、检索条件设置等等。 也就是说SQL语句只是数据库窗口的一部份。 而PB中是有函数可以动态生成数据库窗口。 例:SyntaxFromSQL 与create 函数 以下代码为:动态生成数据源为 ”select * from table“的,数据库窗口。 1...

powerbuilder9.0如何创建数据窗口对象(Data object)
一、确保你的pb已经设置连接到了某个数据库 二、主菜单File - new,选DataWindow页,选择某种风格(比如grid),然后选择数据源类型(比如Sql Select)三、然后选择一个数据表,点Open,再选择需要哪些列,选择好后点主菜单File - Return to Datawindow Painter 四、点next,再点Finish,这时数据窗口就...

利用PB动态创建数据窗口
最后 我们需要利用SQL 语句字符串 动态创建一个新的数据窗口对象到一个数据窗口控件当中 虽然 在运行阶段并不能直接在窗口上建立一个数据窗口控件 但却可以利用用户对象建立一个与窗口上一样的数据窗口控件 在运行阶段时再动态打开这个用户对象 下面是动态建立数据窗口控件的步骤∶在用户对象画板内 建立一...

在powerbuilder中使下拉列表框可以和数据关联
一 打开powerbuilder的 select user object 画笔 选择 在 new user object 中选择 Visual 类的 Standard 项并按下 在弹出来的 Select Standard Visual Type 对话框中选择列表中的 dropdownlistbox 项并按下 接着加入一些实例变量 选择 Declare 菜单项的 Instance Variables 加入变量的声明 datastore ids_u...

PB中实现数据窗口动态排序的三种方法[1]
在PowerBuilder中使用数据窗口检索到的数据往往是无序的 虽然可以通过设置Select语句实现排序的功能 但是数据窗口一旦生成都无法进行动态调整 一 准备工作 为了更好地比较三种不同的方法 dw 中的数据来自两个表student和class student表中包含四个字段sid(学号) sname(姓名) saddr(住址)和cid(班号)...

PowerBuilder编程问题
在W_SHELF窗口中新建一个数据窗口控件三个按钮控件,再单击数据窗口控件DATAOBJECT属性右边的按钮。在弹出的对话框中选择刚刚建好的数据窗口对象。在W_SHELF窗口OPEN事件中 填写如下代码 dw_1.settransobject(sqlca)(设置全局事务对象)dw_1.retrieve()(查询)在三个按钮控件中分别填写:1.dw_1.insert...

powerbuilder中,数据窗口是用来干什么的?现创建了数据窗口,可是不会...
数据窗口是一个控件,PB专利,需要创建数据窗口对象,数据窗口对象就像SQL中用语句检索出来的数据,有字段有数据内容,其本质就是一个SQL语句,但不完成是,因为你可以在数据窗口对象中进行统计、计算列操作等,还可以在数据窗口对象中增加BUTTON、PIC、LINE等,可以用数据窗口对象来画报表、查询结果等数据...

如何创建一个动态的数据窗口对象
在PowerBuilder开发环境的库管理画笔(Library Painter)中使用移出功能(右键→Export)将某个数据窗口对象的语法保存到文本文件中。第四种方法:1、设计窗口时在窗口上设置一个数据窗口控件,该控件用于展示动态创建的数据窗口。2、构造一条SELECT语句。3、利用事务对象的对象函数SyntaxFromSQL()生成符合数据窗口...

powerbuilder 中如何改变数据窗口 ?
假设数据窗口对象的名字叫dw_main,主要的代码就是dw_main.dataobject = '数据窗口名字'在下拉列表框(dropdownlistbox控件)selectionchanged事件中代码如下写:choose case this.text case '1'dw_main.dataobject = 'dw_1'case '2'dw_main.dataobject = 'dw_2‘case '3'dw_main.dataobject = '...

powerbuilder 9.0中如何得到当前窗口数据控件的名称?
可以用如下办法:先在窗口里里面声明一个实例变量: datawindow idw_cur 如果窗口里面有三个数据窗口,分别在三个数据窗口的getfocus事件里面都写上同样的代码 idw_cur=this 这样的话通过idw_cur就可以得到当前的数据窗口了,通过ClassName(idw_cur)就可以得到它的数据窗口名字了。。

相似回答