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
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
我对DBGrid& Checkbox兼容性(Source)也很强硬,但由于我的字段是正常的,我认为这不是麻烦,我在其他地方犯了错误......
答案 0 :(得分:0)
不确定C ++构建器,但在Delphi VCL中,输入参数应标记为:而不是@。
首先,将查询设计时放在查询组件中并检查parameters属性。如果没有定义参数,请尝试更改@ for:
现在,你在这里提出了不止一个问题......所以,让我们一步一步走。