首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从x++创建存储过程

从x++创建存储过程
EN

Stack Overflow用户
提问于 2016-11-23 22:45:12
回答 1查看 1.3K关注 0票数 1

今天我遇到了麻烦,试图用ax创建一个存储过程。

下面是一个简单的例子:

代码语言:javascript
复制
 static void testProcedureCreation(Args _args)
 {
     MyParamsTable myParams;
     SqlStatementExecutePermission perm;

     str sqlStatement;

     LogInProperty Lp = new LogInProperty();
     OdbcConnection myConnection;
     Statement myStatement;
     ResultSet myResult;
     str temp;
     ;

     select myParams;


     LP.setServer(myParams.Server);
     LP.setDatabase(myParams.Database);
     //Lp.setUsername("sa");
     //Lp.setPassword("sa");

      sqlStatement = @"create procedure testproc
                as begin

                print 'a'

                end";
     //sqlStatement = strFmt(sqlStatement, myStr);
     info(sqlStatement);
     perm = new SqlStatementExecutePermission(sqlStatement);

     perm.assert();

     try
     {
         myConnection = new OdbcConnection(LP);
     }
     catch
     {
        info("Check username/password.");
        return;
     }



     myStatement = myConnection.createStatement();
     myResult = myStatement.executeQuery(sqlStatement);

     while (myResult.next())
     {
        temp = myResult.getString(1);
        info(temp);

        if (strScan(temp, 'Error', 1, strLen(temp)) > 0)
            throw error(temp);
    }

    myStatement.close();

    CodeAccessPermission::revertAssert();
}

老实说,在我的实际示例中,我使用的是BCP和一些字符串,其中包含了大量的“\”和"“。

总之,我得到的是:

几个小时以来,我不断地改变和重新尝试许多事情,一个好的想法出现在我的脑海中。

“让我们尝试一个简单得多的例子,并检查结果!”

好吧,没有运气,结果是一样的,你可以在上面的图片中看到。

但无缘无故,我试图:

代码语言:javascript
复制
exec testproc

在我的ssms实例中,令我惊讶的是,它起了作用。我的小手术就在那里。

如果有人能解释这种行为,或者什么是正确的方法,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-24 16:09:15

这个问答应该提供一个答案。How to get the results of a direct SQL call to a stored procedure?

executeQueryexecuteUpdate

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40775393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档