三层架构的分布式系统中,用AdoConnection+DatasetProvider+AdoQuery做服务器,用DCOMConnection+ClientdataSet作客户端。在应用服务器中,设置AdoQuery的SQL为“Update tUser Set usrDept= :pusrDept,usrClass= :pusrClass Where usrID= :pUsrID”,Parameters中的参数正常;在客户端,使用了ClientdataSet连接,在ClientdataSet中设置“Params”有三个参数:pusrDept,pusrClass,pUsrID;与服务器端的一样;设置一个按钮,其代码如下:
ClientDataSet2.Params.ParamByName('pusrID').Value := Trim(Edit1.Text);
ClientDataSet2.Params.ParamByName('pusrDept').Value := Trim(Edit2.Text);
ClientDataSet2.Params.ParamByName('pusrClass').AsString := Trim(Edit3.Text); ClientDataSet2.Execute;
程序能运行,可是为什么不能起作用,根本没有执行更新作用。请高手指教!是不是设置什么特殊参数?
只要Select语句,就能正常运行,为什么Update的语句就不能?
ClientDataSet2.Params.ParamByName('pusrID').Value := Trim(Edit1.Text);
ClientDataSet2.Params.ParamByName('pusrDept').Value := Trim(Edit2.Text);
ClientDataSet2.Params.ParamByName('pusrClass').AsString := Trim(Edit3.Text); ClientDataSet2.Execute;
程序能运行,可是为什么不能起作用,根本没有执行更新作用。请高手指教!是不是设置什么特殊参数?
只要Select语句,就能正常运行,为什么Update的语句就不能?
解决方案 »
- Delphi2010如何加密record
- 100分求助。老问题:TADOQuery取出相应名称字段的字段类型AsFloat的精度问题,希望给出正确并且合理的解决方式!分不够可以再加!
- 如何显示和保存扫描仪扫描出来的图片?比如 TIF格式的等
- 求教高手关于DataSet的问题?
- Ttable没有login param的属性,连接odbc怎么消除用户密码对话框
- TStrings
- 怎样遍历一目录树并将其子目录及文件拷贝到另一地方
- sql疑惑问题。请帮忙!高分求助
- 我正在学习Stream操作文件,但是觉得操作的不舒服,求解~(初学者)
- 如何判断数据集控件是否处在EDIT状态?
- 如何实现两个数值的互换?
- why ?? tell me why?thank you!
ClientDataSet2.ApplyUpdates(MaxErrs); //才将数据更新至服务器。
现在出现了以下问题:如果我打开ClientDataset2.Open,就提示出错:ADOQuery2:Commandtext does not return a result set.
如果我没有打开ClientDataSet2,就提示出错:ClientDataset2: cannot perform this operation on a closed dataset.
究竟还要设置哪些东西呢?谢谢高手了!
换句话说,就是不用你写UPDATE语句去更新
你试试ADOQuery2.execsql。