使用TFDStoredProc通过执行存储过程查询数据时,如果存储过程名不变, 只是改变里面的参数值 ,但传递回的结果集字段不一样的话, 会导致以上错误[FireDAC][Phys][ODBC][Microsoft][ODBC SQL Server Driver]违反限制数据类型属性.
FDSP.Close ;
FDSP.Params.Clear ;
FDSP.StoredProcName := '' ; // 加上此句可以解决,因为在对存储过程名给值时 ,内部进行了一些处理
FDSP.StoredProcName := 'Z_USP_WicherTest' ;
mParam := FDSP.Params.Add ;
with mParam do
begin
Name := '@T1' ;
DataType := ftString ;
//FDDataType := dtString ;
ParamType := ptInput ;
Size := 50 ;
Precision := 0 ;
NumericScale := 0 ;
Value := cbx_TbName.Text ;
end;
FDSP.Params.Clear ;
FDSP.StoredProcName := '' ; // 加上此句可以解决,因为在对存储过程名给值时 ,内部进行了一些处理
FDSP.StoredProcName := 'Z_USP_WicherTest' ;
mParam := FDSP.Params.Add ;
with mParam do
begin
Name := '@T1' ;
DataType := ftString ;
//FDDataType := dtString ;
ParamType := ptInput ;
Size := 50 ;
Precision := 0 ;
NumericScale := 0 ;
Value := cbx_TbName.Text ;
end;
// FDSP.Prepare ;
FDSP.Open();
FDSP.Open();