VCL SQL[查询参数错误]
C++Builder ADOQuery SQLServer 继续 使用此选择步骤:VCL SQL[查询参数错误],sql,c++builder,vcl,Sql,C++builder,Vcl,C++Builder ADOQuery SQLServer 继续 使用此选择步骤: SELECT C.Hint, CAST(CASE WHEN T2.ID_Param IS NULL THEN 1 ELSE 0 END as bit) AS Visi FROM CfgListParIzm C LEFT JOIN ( SELECT T.ID_Param FROM TbUserParam T WH
SELECT
C.Hint,
CAST(CASE WHEN T2.ID_Param IS NULL THEN 1 ELSE 0 END as bit) AS Visi
FROM
CfgListParIzm C
LEFT JOIN
(
SELECT
T.ID_Param
FROM
TbUserParam T
WHERE
T.ID_User = @ID_User
) T2 On T2.ID_Param = C.ID_ListParIzm
WHERE
C.ID_ListGroupParIzm = @ID_ListGroupParIzm
代码:
AQ4->Close();
AQ4->Parameters->Items[1]->Value=(int)TS->Tabs->Objects[NewTab];
AQ4->Open();
错误:
List index of bounds (1)
但我只能在运行程序时看到这个错误。
测试查询->网格激活正常工作(使用手动设置属性)
如果我这样做的话
AQ4->Close();
// AQ4->Parameters->Items[1]->Value=(int)TS->Tabs->Objects[NewTab];
AQ4->Open();
错误:
AQ4: Field 'Visi' not found
AQ4 SQL:
FlowClientHardQ :ID_User, :ID_ListGroupParIzm
我也对dGrand和复选框可压缩性()很苛刻,但我的字段是正常的,我认为这不是麻烦,我在其他地方犯了错误…
不确定C++的Builder,但是在Delphi VCL中,输入参数应该用: 首先,在设计时将查询放在查询组件中,并检查parameters属性。如果未定义参数,请尝试更改@for:现在,你在这里提出了不止一个问题。。。所以,让我们一步一步来。我认为您不应该“按问题调试”!在我看来,你得到了答案,现在你又遇到了另一个问题;下一个将是F10,用于调试下一行:)不,请。。。你错了。。。因为同样的问题,我问了预告片的问题,我只是觉得转换成bool对我有帮助,但并没有。现在我来说明主要的问题。只是不明白为什么我有2个参数,所有的工作正常,但当启动程序ShowMessage(AQ4->parameters->Count);显示1。。。另外,我的调试器被一些1337组件破坏了>\uuuuuuuuuu尝试在
AQ4->Parameters->Items[1]->Value=(int)TS->Tabs->Objects[NewTab]行之前分配SQL查询代码>(查询一旦分配,将被解析),然后尝试分配参数值。否则,清除参数,并分配两者,如果可以,我建议您停止使用C++ Builder。这只不过是一种痛苦-相信我,它很糟糕。改用Delphi,或者改用“标准”工具,比如微软的Java——从长远来看,它会对你有所帮助。。。我知道很多关于圣战的东西,但我认为C#更好。所以我已经分配了。我可以看到这两个参数。但如果它们在运行时消失,甚至在Visi输出字段中消失。我真的不知道为什么。对不起,那个问题已经解决了。谢谢你的关注。我只是不知道如何在没有答案的情况下标记它