
这个很简单哦~
显示查询结果是体现在窗口下面的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小程序,实现录入,查询和报表打印等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)