在PB的什么模块中写sql语句查询l数据?并把查询结果输出为dbf数据库格式?

如题所述

在DB PAINTER中的ISQL SESSION页。
点上方菜单的tools,选择DataBase Painter一项。
这里面是你在PB中配置的数据库连接,打开后看右侧,有个tab页叫ISQL Session,这这里面写查询代码,最后用分号(英文的分号)结尾,点Design里面的Execute ISQL执行查询。
其实在PB的快捷图标中,DataBase Painter和Execute都是有对应的图标的,点图标按钮就行。
查询之后,结果会列在Result一页,自动会跳转到那页。然后在上面点右键,save rows as一项,可以另存出来。不过我好想不记得里面有另存成DBF的选项,有DIF,还有TEXT,CSV等等的。追问

这个PB,好像没有中文版本吗?

追答

恩,是的,确实没有真正的中文版。
不过PB的菜单都很简单易懂的,也没必要使用中文版。

追问

DataBase Painter——(Shift+F7);
Execute ISQL——(Ctrl+L);
可以另存为:Save rows as...格式中有:dBASE 2或者dBASE 3(dbf)等输出的格式。
谢谢老师,学习了。

追答

呵呵,PB6以下的版本,都没有这个功能的。
PB的这个功能还是挺不错的,给开发人员提供了一个比较方便的环境。
不过这个肯定没有数据库配套的做的好。
比如ORACLE,使用PL/SQL,SQLSERVER更是有查询分析器这样的东西,要方便很多。

追问

对,后来都产品只能是“以人为本”才能占有市场。
不过老师我还是想问一下:用来写查询代码ISQL SESSION页,能否多打开几个这样写查询代码的页?

追答

DB PAINTER是可以多开的。
但是一个ISQL SESSION上面不能写多个。
你可以多开几个。
就是你发出来那个图的界面,是可以多开的。

追问

真的可以啊,试验过了,可以,非常棒的!
问题一:你们在什么情况下使用这个ISQL SESSION啊?开发的时候用PB,还是plsql、toad?
问题二:ISQL SESSION写查询代码最多支持多少行?多少列? 这个有限制吗?什么情况下会因资源匮乏而崩溃。
问题三:这个查询结果,有没有标尺显示(即序列号)啊?可以查看行数?
问题四:不知道老师有没有PB10版本的入门学习教程(电子版的),麻烦给发一份39477721@qq.com;谢谢先。

追答

第一个问题:如果我只是想做一个简单的查询,就用PB的ISQL SESSION来查了。但是要是比较复杂,尤其是要写多个查询语句,我就不使用这个。ORACLE我比较习惯用PL/SQL DEVELOPER。开发的时候,前台我使用PB,而后台数据库,那就视情况而定了。PL/SQL只是用来调试数据库语句或者函数存储过程的。前台的界面功能还是用PB.
第二个:这个我可没遇到过,都可以查的。只要是一个语句就好,别写多个。
第三个:查看返回的行数,可以看最下边的状态栏,中间的位置,查询之后,最下边有个显示一共查询到多少行结果的,而且前边还会显示你当前结果界面是从第几行到第几行。
第四个:入门教程我是真没有,因为我就是做PB工作的,不是搞培训之类的,呵呵。而且我做了好多年了,这样的东西早就没有了。不过你可以从一些简单的做起,做点简单的窗口,加些控件,对窗口还有控件等等有些基础的了解。然后再深入做数据窗口上的功能,这样一点一点的,很快就能做基本的东西了。

追问

我试了一下,因为要查询的数据量很大(查询语句嵌套很多层),估计得超过3、50M以上的数据量。但是PB提示,超过1000行记录。
PL/SQL查询出来的数据结果,关键是无法输出为DBF(dBASE)的格式,excel又不支持那么多行数。

追答

是你语句的问题吧?
你是不是有select ... from ... where ... in (...)
是不是有In这样的查询呢?
这in里面的集合,最大支持1000个。

追问

代码中其中有诸如此类where...in('00001','00002','00003',省略,'02219'),但是只是用in包含了2219个参保人员编号(编号不规则哦),进行指定条件查询;然后就报错提示:ERROR: ORA-01795:列表中的最大表达式数为1000M;(其中M是什么意思?) 关键像这种情况,有没有别的解决方法?请给举个列子。谢谢老师先。请指示

追答

用OR
IN里面这样的集合,每次最多支持1000个。
WHERE COLUMN IN ('00001',.....) OR COLUMN IN (...) OR COLUMN IN (...)
括号里面的项,不能超过1000

追问

老师,有没有哪个数据库软件,没有超过1000个表达式的限制?有木有?
(据我所知:PL/SQL、TOAD、PB等都有最大表达式为1000M的限制。)

追答

这个是数据库语句本身的限制,所以无论任何软件,都不可能超过这样的限制的。
所以遇到这样的情况,你只能拆分in里面的集合。没有别的办法的。
因为这是数据库语言的硬性限制,呵呵,不要想绕过去了。估计是没有可能。

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-25
不知道你问的是PB哪个版本 。 PB6.5是在 DB administration 这个按钮有可能一开始工具栏上没有 ,你需要自己放上去。 PB9.0 ,pb11.0 都是在 database 这个按钮里面 ,可以打开一个界面,有个界面叫做 SQL SESSION 里面可以写SQL语句 ,如何执行那就是找按钮或者右键点击EXECUTE追问

这个PB,好像没有中文版本吗?

追答

导出DBF 应该不可以 。 如果硬要这么导出的话,你可以试试用数据通道,你先要创建个DBF的数据源,然后用ODBC创建这个的连接。 这样你用数据通道试试从DB 导出到DBF中 。我没试过。 最简单,导出EXCEL ,然后用VF 导入就是了。
PB中文版没用过 。

追问

如图:

追答

不好意思 ,导出DBF表是可以的,以前没用过。 看你的图,这么简单的SQL 语句,应该不会出错的,你看下是否连接上的库。

在PB的什么模块中写sql语句查询l数据?并把查询结果输出为dbf数据库格 ...
点上方菜单的tools,选择DataBase Painter一项。这里面是你在PB中配置的数据库连接,打开后看右侧,有个tab页叫ISQL Session,这这里面写查询代码,最后用分号(英文的分号)结尾,点Design里面的Execute ISQL执行查询。其实在PB的快捷图标中,DataBase Painter和Execute都是有对应的图标的,点图标按钮就行...

...DBF文件? 3、怎么在PowerBuilder 9.0 上写SQL语句,点那个进去?_百度...
你指的DBF是oracle的格式的还是vfp的?不管用什么,用pb调shell,用命令方式肯定可以实现的 PB9里在界面上双击就是script输入界面了,在script的任意位置都可以输入sql 另外几乎所有的数据窗口都是sql,点击中间的"sql"图标就是了...

怎么用pb在程序里备份及恢复数据库
1、在窗口中添加一个数据窗口控件,如数据窗口控件命名为dw_pip 2、在窗口中添加一个名为SAVE的保存按钮。在SAVE按钮中添加程序如下:string sql_syntax,dwsyntax_str string errors,S_filnam string table_name \/\/编写数据查寻条件 sql_syntax=查询条件 \/\/检索数据窗口内容 dwsyntax_str = SQLCA.Syn...

...如何用pb真正删除dbf表中的记录,请用sql语句.
delete from 表名 cascade;表示级联删除及删除所有与此表中数据有关的记录

PB&ROE编程技巧
在PB&ROE编程中,数据处理系统的安全性至关重要。要实现数据的转储和调入,PowerBuilder的SaveAs()和ImportFile()函数扮演关键角色。SaveAs()支持多种格式,如DBF、TXT(TAB分隔)、Excel、SQLInsert和CSV,而ImportFile()则负责从文本文件导入数据到数据窗口。创建简洁美观的报表是提升用户体验的重要环节。

在PB中如何用OLE DB来连接数据库
PB与ASA数据库连接问题!一.连接步骤1.添加数据源。WINDOWS98中---我的电脑---控制面版---ODBC数据源32位---系统DSN---添加---选择你使用的数据库 2.在工具条上点击DB PROFILE 选择已建立好的数据库连接,单击EDIT在弹出的对话框中选PREVIEW里面就是连接数据库的语句,COPY就OK了。二.DB_profile写法(以lin....

在应用程序运行时,把excel导入pb内部数据库的源代码谁知道,帮帮我,谢...
给一个将excel导入到数据窗口中的方法。【注意】idw_dw是目标数据窗口控件 string path,filename integer value,result value = GetFileOpenName("Select File",path,filename,"xls","xls Files (*.xls),*.xls,Text Files (*.TXT),*.TXT,DBF Files (*.DBF),*.DBF")if value<>1 then return...

在网页引用数据库的详细方法(如何引用数据库数据)
mdf’这个语句的作用是仅仅加载数据文件,日志文件可以由SQLServer数据库自动添加,但是原来的日志文件中记录的数据就丢失了 1 5在应用程序中定制可以在应用程序(PB、VB)中执行自己编写的程序,也可以在QueryAnalyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,...

在ACCESS数据库中,怎样把一个表的某些字段的某些记录复制到另一个表...
可先用数据管道在PB中建立(或导入到)一个数据库,在通过数据窗口保存为你想要的任何格式的文件包括excelString ls_File, ls_Path, ls_ExtInteger li_Valueli_Value = GetFileSaveName ("打印到文件", ls_Path, ls_File, "DOC", &"文本文件; (*.CSV), *.CVS," + &"文本文件Tab (*.TXT), *.TXT...

常见的数据库有哪些
问题六:常见的数据库文件格式有哪些? dbf dbase文件,一种由ashton-tate创建的格式,可以被act!、lipper、foxpro、arago、wordtech、xbase和类似数据库或与数据库有关产品识别,可用数据文件(能被excel 97打开),oracle 8.1.x表格空间文件;dba是access文件;nsf lotus notes数据库;mdf和ldf是sql server文件;2.另外你还有...

相似回答