发新话题
打印

[已解决] CQ API 求助( 此文章被查看:533次,被回复:2篇!! )

CQ API 求助

刚开始接触CQ API,遇到问题了~请大大们帮忙啊~

我按照文档上写的,想用perl写个 CQ API的简单运用,列出某个用户在CQ客户端保存的所有查询


use CQPerlExt;
$currentSession = CQSession::Build();
$currentSession->UserLogon("用户名","密码","数据库","DBSET");

$workspaceobj=$currentSession->GetWorkSpace();

$workspaceobj->SetUserName("用户A");

$QueriesList=$workspaceobj->GetQueryList("OLEWKSPCUSERQUERIES");

foreach $queryname(@$QueriesList){
        print "$queryname\n";
        }

CQSession::Unbuild($currentSession);


但是取不到 用户A 保存的查询名字啊~不知道哪里错了~大大们帮忙啊~~~


问题已经解决 [打开主题]
本主题的最佳答案为 [ 2 楼].



© 本文为 jiangminSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

我看了你的代码,应该是你写的有问题吧
foreach $queryname(@$QueriesList){
        print "$queryname\n";
        }
中间的Print这句是错的吧,因为$queryname是一个变量,加上“”就变成字符串了。

下面是一个vbs版本的例子:
    set session = CreateObject("ClearQuest.Session")
    session.UserLogon "admin", "admin", "tmm", AD_PRIVATE_SESSION, "pcd"
   
    Set wspobj = session.GetWorkSpace
    wspobj.SetUserName "admin"
    names = wspobj.GetQueryList("1")
    For Each name In names
           MsgBox name
    Next
    Set wspobj = Nothing
    Set session = Nothing


最佳答案
该回答被楼主/管理员列为正解!



© 本文为 yunshanSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

已经解决了 :)

把 GetQueryList("OLEWKSPCUSERQUERIES") 改成GetQueryList("2")就取到了哦.....
按照文档上写的~Perl的话 用这个: CQ_WKSPC_USER_QUERIES,可是好像不行诶~。。。

谢谢斑竹的热心啊~  :)



use CQPerlExt;
$currentSession = CQSession::Build();
$currentSession->UserLogon("用户名","密码","数据库","DBSET");

$workspaceobj=$currentSession->GetWorkSpace();

$workspaceobj->SetUserName("用户A");

$QueriesList=$workspaceobj->GetQueryList("2");

foreach $queryname(@$QueriesList){
        print "$queryname\n";
        }

CQSession::Unbuild($currentSession);



© 本文为 jiangminSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

发新话题