with ADOSQL do
begin
close;
SQL.Clear;
SQL.Text:=GetSQLStr('--A11_SELECT','--A11_KEY')+' '+GetSQLStr('--A11_KEY','');
//GetSQLStr函数是获取本地.text文件中的SQL语句,此函数已验证过可行!
Parameters.ParamByName('TB004').Value:=Ts1;
//现在关键就是不知道Ts1该传什么样的格式才行
Open;
end;问题:
1、其中SQL条件语句是这样写的,不知道对不对——>……Where TB004 IN (:TB004)AND……
2、而实际这个参数是动态的,取决于另外一个查询集,主要表现为编码信息,如:
1000001,1002001,202410122,……
3、现在主要的问题不知道是如里出错了,查询总不能成功,如果直接将这段SQL拷到SQL查询分析器里是没有问题的!
begin
close;
SQL.Clear;
SQL.Text:=GetSQLStr('--A11_SELECT','--A11_KEY')+' '+GetSQLStr('--A11_KEY','');
//GetSQLStr函数是获取本地.text文件中的SQL语句,此函数已验证过可行!
Parameters.ParamByName('TB004').Value:=Ts1;
//现在关键就是不知道Ts1该传什么样的格式才行
Open;
end;问题:
1、其中SQL条件语句是这样写的,不知道对不对——>……Where TB004 IN (:TB004)AND……
2、而实际这个参数是动态的,取决于另外一个查询集,主要表现为编码信息,如:
1000001,1002001,202410122,……
3、现在主要的问题不知道是如里出错了,查询总不能成功,如果直接将这段SQL拷到SQL查询分析器里是没有问题的!
但就是不知道为什么用in,多个编码传入就不对了,昨天折腾我一天了!
是可以的,我就是将条件带进去,在SQL查询分析器里可以得到结果
将Ts1的值加了引号造成,但又不知道如何去掉?
最终结果应该是:Where TB004 IN ('1000001','1002001','202410122')
而有了第一句,应该会变成Where TB004 IN (''1000001','1002001','202410122''),所以不能查到结果,但不知道怎么转?
是将TS1赋给TB004啊。你把IN里的内容用别的变量看看。