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

在powerbuilder中,不想通过数据窗口对象向导创建数据窗口对象,想直接用sql语句创建数据窗口对象,powerbuilder支持这样做吗,支持的话该如何创建呢,求... 在powerbuilder中,不想通过数据窗口对象向导创建数据窗口对象,想直接用sql语句创建数据窗口对象,powerbuilder支持这样做吗,支持的话该如何创建呢,求高手指点。 展开
 我来答
hy1397471
2015-11-10 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17153
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

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()
wforce
2010-08-09 · TA获得超过843个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:786万
展开全部
//步骤看起来很复杂,其实可以把他写进一个函数中,以后直接调用就方便很多了
//以下是动态生成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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tacketlk
2010-08-09 · 超过30用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:83万
展开全部
SQL只有在数据库上才能执行,PB不行。

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

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

这就是面向对象编程。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯虫子cc
2010-08-09 · 超过14用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:34万
展开全部
数据窗口下,点sql那个钮,然后再在菜单栏点design -- convert to syntax

编辑即可
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seyaiseyai
2010-08-09 · TA获得超过217个赞
知道答主
回答量:215
采纳率:0%
帮助的人:132万
展开全部
自动生成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式