W
wrench
Unregistered / Unconfirmed
GUEST, unregistred user!
D5的 ClientDataSet增加了CommandText属性
可是如果使用带参数的sql语句
如
Clientdataset.commandtext:='select xxx from xx where x=_xx'
ClientData.Params.ParamValues ['P_xx']:=xxxxxx;
ClientData.open;
运行时会出错 --参数p_xx不存在
必须手动写代码将SQL解析,并创建参数后,再给参数赋值,这样才能正确使用
真是奇怪
我看了看DBClient.pas
竟然没有处理SQL语句的参数的代码
可是这样的话,它提供params属性做什么用呢?
而且Params正确创建后,params的值还能正确传到服务器并且正确执行SQL
为什么在给CommandText赋值时,不把参数建立起来了?
是我没找到方法还是本来就是这样的?
可是如果使用带参数的sql语句
如
Clientdataset.commandtext:='select xxx from xx where x=_xx'
ClientData.Params.ParamValues ['P_xx']:=xxxxxx;
ClientData.open;
运行时会出错 --参数p_xx不存在
必须手动写代码将SQL解析,并创建参数后,再给参数赋值,这样才能正确使用
真是奇怪
我看了看DBClient.pas
竟然没有处理SQL语句的参数的代码
可是这样的话,它提供params属性做什么用呢?
而且Params正确创建后,params的值还能正确传到服务器并且正确执行SQL
为什么在给CommandText赋值时,不把参数建立起来了?
是我没找到方法还是本来就是这样的?