pbsql
A. pb中sql语句不执行
刚刚测试了你上面的代码,请将:
PREPARE SQLSA FROM 'insert into information values (:split_arry[1],:split_arry[2],:split_arry[3])';
EXECUTE SQLSA USING :split_arry[1],:split_arry[2],:split_arry[3];
改成:
PREPARE SQLSA FROM 'insert into information values (?,?,?)';
EXECUTE SQLSA USING : split_arry[1],:split_arry[2],:split_arry[3];
在PB9下执行通过。
B. 怎么用设置odbc,把pb和sql数据库(表)连接
你的sqlserver和pb是哪个版本?2005以下的可以和pb11以下版本直连,2005只能和pb11以上版本直连,如果你想跨版本链接,只能用odbc来连,在开始菜单中的控制面板里面的数据源,选择你要链接的数据源
C. pb sql语句错误
学习了一边setsqlselect的帮助,看到这样一句表述:
If the new SELECT statement has a different table name in the FROM clause and the DataWindow object is updatable, then PowerBuilder must change the update information for the DataWindow object.
我怀疑是因为存储过程的表名和原sql里表名不同,pb对dw进行设置出现的此错误提示。
我发现dw里果然设置update属性啦,将update属性取消,问题解决。
D. pb中怎么看到数据窗口的sql语句
打开数据库窗口编辑界面,找到data source按钮(图标是字母'SQL')。点击data source按钮,打开data source编辑界面,找到syntax选项卡,即SQL语句。
如果要SQL语句方式修改数据库窗口,那在菜单design,选择子菜单convert to syntax,即可切换图形视窗和SQL语句方式修改数据库窗口数据源。
E. PB中sql语句使用
select price into :price_1 from pricelist where item_name=:ls_item;
F. pb中数据窗口怎样生成sql语句
不太好解释清楚,没自己打开看来的直观。
你只要看到pb窗口里面的表格就是数据窗口在窗口上的体现。当然统计图之类的都是数据窗口的各种样式。找到数据窗口控件后,右键点属性,看连接的是哪个数据窗口。或者直接点右键的修改数据窗口,(英文版找类似的英文菜单)就打开数据窗口了,然后点菜单上的sql,你会发现数据窗口就是sql语句组成的。
还有不能混淆的是右键点数据窗口控件的script看到的是事件的代码,也就是pb
script语句,不是数据窗口的代码,数据窗口的代码都是sql语句
G. PB中 SQL语句有哪些
pb中sql分为内嵌sql和动态sql
内嵌sql可以select、update、insert、delete。
动态sql可以create table等等。
另外还有数据窗口,可以完成数据的增删查改
H. 如何在PB中创建SQL SERVER数据库设备与数据库
因 为 在 PB中 必 须 跟 指 定 的 DB建 立 连 接 。
能 在 PB中 创 建 SQL SERVER数 据 库 设 备 与 数 据 库 。
因 为 在 安 装 MSSQL SERVER 数 据 库 时 安 装 了 MASTER数 据 库 , 你 可 以进 入 PB 数 据 库 描 绘 器 建 立 与 mssql master数 据 库 的 连 接 , 然 后 进 入
DB ADministration 描 绘 器 , 直 接 用 sql 语 句 创 建 设 备
创 建 设 备 语 句 例 如
DISK INIT NAME =''mq'', PHYSNAME = ''C:\MSSQL\DATA\zxxlog.DAT'', VDEVNO = 101, SIZE = 21200
然 后 执 行
创 建 了 mq 设 备 , 创 建 数 据 库 雷 同 。
在 程 序 脚 本 中 编 写 时 注 意 : 连 接 MSSQL时 SQLCA.AutoCommit = true
脚 本 例 子
sql1="DISK INIT NAME = ''mq'', PHYSNAME = ''C:\MSSQL\DATA\zxxlog.DAT'', VDEVNO = 101, SIZE = 21200"
执 行 程 序 创 建 mq设 备 。
I. pb 怎么连上sql server
初次使用pb10的朋友无法顺利连接到sql
server,一方面没有了mssql
server专用接口了,另一方面数据库管理系统(dbms)换成了“ole
db”,配置起来有点不顺手!下面就来介绍pb10中用ole
db连接sql
2000数据库。
在安装pb10的时候选择custom/full方式安装(默认的安装方式不会安装ole
db接口),next-》如果你没有安装.net则不要选择列表中的ado.net....项。一路next完成安装。
在数据库画板中找到ole
microsoft
ole
db项,在其上右键新建一个配置,在弹出的配置窗口中:
profile
name:填写配置文件名
//任意即可
provider:选择数据库管理系统类型,这里选择“sqloledb”项
data
source:服务器名(和之前的版本不太一样)。可以在下拉列表中选择,也可以填入服务器名或ip地址如:127.0.0.1等。如果上面的provider不是“sqloledb”则此下拉列表中可能没有选项。
user
id:用户名。我的用户名是默认的sa
password:对应上面user
id的密码,我的密码是空的,所以不填。
到这里你就可以顺利的连接到sql
server了。但是连接到哪个数据库呢?上面的参数都没有指明,我也找了半天:p。不要着急,在extended里填入
“database=数据库名”
就可以了。(不要引号)
最后的配置文件内容为:
//
profile
his
sqlca.dbms
=
"ole
db"
sqlca.logid
=
"sa"
//我的用户名是sa
sqlca.autocommit
=
false
sqlca.dbparm
=
"provider='sqloledb',datasource='netmanager',providerstring='database=zs'"
//我的数据库名是:zs;datasource后面也可以是ip地址:datasource='127.0.0.1'
至此就完成了pb10下用ole
db连接sql
server的配置!
J. pb中怎么对sql进行增删改差,还有怎么调用时间控件,谢谢网友们了
可以用到数据窗口,这也是Pb精华所在,不用编写sql代码,就可以调用函数对数据库中的表进行增删改查。1.增加:用InserRow(n)----n为行号,当为0时,在末尾一行插入一个空行;2.删除:deleteRow(n)----n为行号。3.改:最直接的方法直接在数据窗口上编辑数据,然后利用update()函数更新表数据。如果更新成功就提交数据,相反如果失败就回滚,不提交数据。具体代码:if
update()
>
0
then
commit;//提交数据
else
rollback;//回滚数据,不提交
end
if
4查询:简单
几个条件查询
可以用到setfilter()
函数进行过滤。譬如dw_1.setfilter("id
=
1")
dw_1.filter()//查询id
=1所有数据
复杂的可以利用修改拼接条件数据窗口data
source
sql语句来实现.具体的:先得到数据窗口data
source
sql语句.
string
ls_sql
ls_sql
=
dw_1.getsqlselect()
//然后加入查询sex
=‘男’,class
=
'2',score
>
'90'的所有数据.
这样拼接条件
string
ls_final
ls_final
=
ls_sql
+"where
sex
=
'男'
and
class
=
'2'
and
score
>
'90'
";//注意最后要有分号!
dw_1.setsqlselect(ls_final)
dw_1.retrieve()//检索数据,得到要求查询结果.
时间控件
您说的是timer()函数
还是修改日期的控件em?前者
timer(1)代表每一秒中出发timer()事件中的代码.后者是利用掩码控件.调整mask格式即可
譬如yyyy-mm-dd
显示出来的日期是2011-05-30
一般都是在窗口的open事件中
写上
em_rq.text
=
string(today,'yyyy-mm-dd')
//效果同前