我有一个存储过程,MS SQL Server,其中一个返回的列是一个字符串,"是"或"否".到现在为止还挺好.我正在ColdFusion 10中创建一个JSON字符串,并最终将其踢到jQuery/Bootstrap以放入表中.如果我调用writeOutput("SP suitable text: " & spResults.rg_suitable_text[i]);SP的输出,(这是一个计算值,而不是TSQL中具有实际数据类型的实际列),它会写出它应该是什么,即是或否.但是,在构造要序列化为JSON的数组rg_suitable_text=spResults.rg_suitable_text[i]时,如果我使用REST客户端用于Google或Firefox并仅查看ColdFusion的原始JSON输出,则显示true/false.我甚至试过创建一个新的变量和硬编码:
var solicit="No";
if(spResults.rg_suitable_text[i] EQ true OR trim(spResults.rg_suitable_text[i]) EQ "true")
{
solicit="Yes";
}
Run Code Online (Sandbox Code Playgroud)
并将其标记到我的数组上,但同样的事情发生了.看起来ColdFusion 11支持一种解决方法,但这是一个工作项目,所以这不是一个选择.是否有一个我可以对上面的块进行的编辑,可以说,"ColdFusion 10,我不在乎你想要什么,这是一个字符串,并把它当作一个爆破的字符串,dangit!"
最近这个问题已经出现了,谷歌已经......呃,最不实用了.
我们正在使用Yii,但公司的政策是所有数据库访问必须通过MySQL存储过程完成,这会"打破"相当多的Yii,并使其一些尝试使生活更轻松,更好,无关紧要.(要明确的是,在Yii实施之后,只需要SP的决定.)
是否有任何PHP框架可以在此限制下更好地工作?我们正在使用YiiBooster,因此任何其他框架必须与Bootstrap兼容,否则UI/UX部门将开始尖叫.
TLDR版本:
我从谷歌搜索和搜索这里的初步印象是,任何其他PHP框架都将具有完全相同的限制. 它是否正确?
我在 VS2019 Enterprise 中构建的解决方案中有一个 C# 项目,使用 .NET 4.8,由于这是一个仅供内部使用的工具,1)我将发布的构建日志将被编辑,2)我完全知道将运行它的每台计算机的硬件和 .NET 版本,因为它们都与我自己的完全相同。
该程序集使用硬件密钥进行签名,因为我们使用白名单来确定哪些内容可以在所述笔记本电脑上运行,哪些内容不能运行(因此我必须在本地构建它),并且由于该工具的内存需求,我仅构建了 x64。(是的,我看过它运行,是的,它使用了超过 2GB 的 RAM,不,我对此无能为力。你只需要相信我的话。)
综上所述,我安装了 Microsoft 制造的扩展程序来尝试创建 MSI 安装程序,因为这需要尽可能易于安装,但它一直失败。下面输出。
1>------ Rebuild All started: Project: MyCSProject, Configuration: Release x64 ------
1> MyCSProject -> C:\dev\Source\Repos\MySolution\MyCSProject\bin\x64\Release\MyCSProject.exe
1> Done Adding Additional Store
1> Successfully signed: C:\dev\Source\Repos\MySolution\MyCSProject\bin\x64\Release\MyCSProject.exe
1>
------ Starting pre-build validation for project 'MyCSProject Setup' ------
------ Starting pre-build validation for project 'MyCSProject Setup' ------
------ Starting pre-build validation for project 'MyCSProject Setup' ------
WARNING: Unable to find dependency 'MICROSOFT.WINDOWSAPICODEPACK' (Signature='(null)' Version='1.1.0.0') of …Run Code Online (Sandbox Code Playgroud) c# windows-installer build visual-studio-setup-proje visual-studio-2019
在.CFC文件中,在CF函数内和CFargument标记中.
<cfscript>
var sp=new storedproc();
sp.setDatasource(variables.datasource);
sp.setProcedure("storedProcedure_INSERT");
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.one);
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.two);
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.three);
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.four);
sp.addProcResult(name="results",resultset=1);
//writeDump(sp);break; //This dump is reached
var spObj=sp.execute(); //blows up here; this is never reached
writeDump(spObj);break; //This is never reached, either.
var spResults=spObj.getProcResultSets().results;
Run Code Online (Sandbox Code Playgroud)
任何能告诉我为什么sp.execute()爆炸消息的人都会发出闪亮的光芒
"Cannot find results key in structure.
The specified key, results, does not exist in the structure."
Run Code Online (Sandbox Code Playgroud)
我曾经多次使用这个伪代码,过去可能会使用它,而且从来没有这样做过.我已连接到MSSQL Server 2012数据库,CF Admin中的所有内容都是板球,其他SP正常运行.堆栈跟踪甚至根本不包含任何MY代码o_O
错误发生在C:/ColdFusion10/cfusion/CustomTags/com/adobe/coldfusion/base.cfc:cline 491来自C:/ColdFusion10/cfusion/CustomTags/com/adobe/coldfusion/storedproc.cfc:line 142来自//hq-devfs/development$/websites/myProject/cfc/mySOAPWSDLs.cfc:line 123
如果我再尝试粘贴,那么SO就会爆炸.谷歌......没有帮助._.
sql-server coldfusion stored-procedures sql-server-2012 coldfusion-10