如何用PB实现查询功能

如何用PB实现查询功能,第1张

这个很简单哦~

显示查询结果是体现在窗口下面的DW(数据窗口)中的,那么你需要组合好条件,然后利用数据窗口控件的

setSQLSelect(条件字符串)的方法重新设置DW查询SQL,然后再对DW *** 作retrieve()

即可实现!例如:

string

name

,

gender

name

=

sle_nametext

gender

=

ddlb_gendertext

string

ls_selectCmd

ls_sqlcmd

=

"select

name

,

gender

from

employee

"

+

&

"where

(name='"

+

name

+

"')

and

(gender='"

+

gender

+

"')"

dw_1setTransobject(sqlca)

dw_1setSQLSelect(ls_selectCmd)

if

dw_1retrieve()

<

1

then

messagebox("提示"

,

"未找到任何条件的人员信息")

end

if

祝你好运!

1、数据库管理系统(database management system)是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL(Data Definition Language)与数据 *** 作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等 *** 作。

2、数据库描述文件没有什么作用,用来记忆作用。

3、SQLCA是系统默认的事物对象。

SQLCA是pb自己定义的一个和数据库连接的通道。你也可以自己定义一个来替代SQLCA。

在使用动态SQL语句时,需准备DynamicStagingArea对象(全局对象SQLSA)和DynamicDescriptionArea对象(全局对象SQLDA)。定义游标或过程,读取PREPARE语句中的SQL语句以及语句中说明的参数和类型,执行FETCH语句后,调用相关的函数逐条读取并处理检索结果。

新建一个窗口,窗口中有一个数据窗口dw_1,然后创建数据窗口的dataobject,设置保存属性,上面增加至少四个按钮,录入,查询,保存,打印。

设置PB和数据库连接的SQLCA参数,连接数据库,打开窗口。

窗口的Open事件或者数据窗口的constructor事件或者其他可以发生的事件中写dw_1settransobject(sqlca),通过事务使数据窗口和数据库连接。

录入按钮增加一行即可dw_1insertrow(0),表示在最后增加一个空行。

插入空行后,自己填入数据,然后点保存按钮保存。

保存按钮代码

if dw_1update() = 1 then

commit;

else

rollback;

end if

查询功能如果需要设置条件查询,那么最简答的,数据窗口设置参数,dw_1retrieve(参数)这样的方法。

如果直接全部查询,那就不用参数了,查询按钮中直接写dw_1retrieve()

打印,使用print函数,自己设计一个数据窗口用来打印。在PB上查查PRINT函数的帮助,就知道怎么用了。

我只会在unix下面写,嘿嘿win的我还不会呢。。

把代码贴上。至于怎么 编译,再查查吧~

int main()

{

EXEC SQL BEGIN DECLARE SECTION;

char oc_passwd[101]; /数据库密码/

char oc_userid[101]; /数据库用户名/

char oc_dbname[101]; /数据库名/

char oc_coad[101];

EXEC SQL END DECLARE SECTION;

memset(oc_passwd, 0x00, sizeof(oc_passwd));

memset(oc_userid, 0x00, sizeof(oc_userid));

memset(oc_dbname, 0x00, sizeof(oc_dbname));

/取数据库用户名/

strcpy(oc_userid, "userid");

/取数据库用户密码/

strcpy(oc_passwd, "passwd") ;

/取数据库名/

strcpy(oc_dbname, "dbname");

EXEC SQL CONNECT :oc_userid

IDENTIFIED BY :oc_passwd

USING :oc_dbname;

if (sqlcasqlcode != 0)

{

printf("用户名[%s]密码[%s]数据库[%s]\n", oc_userid, oc_passwd, oc_dbname);

printf("连接数据库失败,sqlcode=%d\n", sqlcasqlcode);

return -1;

}

/读table取coad字段/

memset(oc_coad, 0x00, sizeof(oc_coad));

EXEC SQL SELECT coad

INTO :oc_coad

FROM table

WHERE 1=1;

if (sqlcasqlcode == NORECORD)

{

printf("查询无记录\n");

return -1;

}

else if (sqlcasqlcode != 0)

{

printf("查询失败,sqlcode=%d\n", sqlcasqlcode);

return -1;

}

return 0;

}

填空就不答了,答那两个文字叙述题方便后来人。

1

(1)数据库描述文件根据数据源建立。

(2)通知应用程序可以访问的所有的数据库(第一次通讯)

2

(1)事务对象的连库反馈属性

(2)给出连接数据库出错的文本信息

你看看SQLCA的SQLCODE值是多少?

这个应该是连接正常,估计是你数据窗口取值写的不对。

你在OPEN()中粘贴profile,是哪个open()

窗口的Open还是application的open()?

另外,无论在哪里都可以,你写connect using sqlca这句话了么?

如果写这句话看看sqlcasqlcode的值是不是0,如果是,连接正常。

然后再看看你有没有写dw_1settransobject(sqlca) dw_1retrieve(),这两句话才是让数据窗口显示的语法。你肯定错在其中某一个了

在open()中,粘帖上profile,那么你粘贴之后,有没有在后边写CONNECT USING SQLCA这句话?如果没写,那么你写了配置也是白写,根本就没有连接。

楼主貌似用的PB,楼上的二位。。

我很久不用PB了,因为他报的是变量错,你这样看看

IF SqlcaSqlcode = 0 THEN

open(w_login)

RETURN 1

ELSE

MessageBox("系统提示1",sqlcaSQLErrText)

RETURN -1

END IF

以上就是关于如何用PB实现查询功能全部的内容,包括:如何用PB实现查询功能、1) 数据库管理系统DBMS的作用 2) 数据库描述文件的作用 3)书屋处理对象SQLCA的作用、设计一个pb小程序,实现录入,查询和报表打印等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9662547.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存