暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase基本查询操作

原创 ts 2022-02-17
1217

执行查询操作该操作对于查询必选查询操作只能在连接对象中执行。

默认接口search方法得到1条数据就返回,然后在getCount不会大于1。

LDAPSearchResults结果集循环时将继续获取数据,循环完成前如退出需调用close关闭。

接口基本信息说明

itec.ldap.LDAPConnection

1、public LDAPSearchResults search( String s, int i, String s1, String as[], boolean flag )

     throws LDAPException

2、public LDAPSearchResults search( String s, int i, String s1, String as[], boolean flag,

LDAPSearchConstraints ldapsearchconstraints ) throws LDAPException

 

异常说明

异常对象LDAPException的获取结果码方法,将返回结果码:

LDAPException.CONNECT_ERROR(10进制91),则数据操作时连接失败;

LDAPException.LDAP_TIMEOUT(10进制85),则数据操作超时;

应用应捕获该异常并做错误处理,如果是连接错误,请再次创建或获取连接并尝试。

请求示例

LDAPConnection  ld = new LDAPConnection();   //创建一个LDAP连接对象;

//执行连接操作

......

final String[] attrs = null;   ////在查找结果中要返回的属性列表;

1、不带约束参数的查询(可事先通过参数设置,完成约束参数设置)

LDAPSearchResults res = ld.search ( "dc=AB",  LDAPv3.SCOPE_SUB,  "(sn=1234)",

                                 attrs, false);   //条目查询结果集合;

1、带约束参数的查询(每条查询语句可使用单独的约束参数设置)

   LDAPSearchConstraints lsc = ld.getSearchConstraints();

   lsc.setTimeLimit(50);  //设置接口端的数据操作超时时间为50毫秒

   //也可以在这里设置其他参数,比如setServerTimeLimit,setMaxResults,setBatchSize

   //查询条件sn=1234对应的sn属性应具有相等匹配、子串匹配等匹配规则

LDAPSearchResults res = ld.search ( "dc=AB",  LDAPv3.SCOPE_SUB,  "(sn=1234)",

                                 attrs, false, lsc);   //条目查询结果集合;

// 通过循环遍历集合,获取条目及属性值,只能遍历一次

//在循环中,ld对象不能用于其他的操作,比如嵌套的新查询,或者增删改操作

//如果需要做其他的操作,请创建新的连接来进行

while (res !=null && res.hasMoreElements()) {

        try {

            //如果结果集的所有条目没有循环结束就退出

            //需在跳出后执行res.close();释放内存资源

            findEntry = res.next();

        } catch (LDAPException e) {

            System.out.println("Error: " + e.toString());

            continue;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论