clientdataset 三层如何传中文参数?
现在是传上去只有一半了.........
网上果了半天,好像都是要改源文件的,可是我记得看到过在dataset上面处理的代码,一时记不起来了,高手指点一

解决方案 »

  1.   

    有一个delphi 7 clientdataset 的问题,请高手指点
    也就是如果三层我传的参数是中文的话,就只传了一半上去,原因是知道的,可是水平不高,不知如何解决  
    有朋友说tdatasetprovider的BeforeGetRecords 
    中加以下代码,
    if ( Param.DataType = ftString ) or ( Param.DataType = ftFixedChar ) then
    if not VarIsNull( Param.Value ) then
    Param.Size := length(Param.Value)
    可是提示 Param 未定义
      

  2.   

    在ADOQUERY的DataBeforeOpen(DataSet: TDataSet);中加下面的代码搞定,期待更好的方法及通用的方法.
    SsalaryItemExistsData.Parameters.ParamByName('Nsalaryitemname').Size :=Length(SsalaryItemExistsData.Parameters.ParamByName('Nsalaryitemname').Value);
      

  3.   

    ADOQuery1.Parameters.ParamByName('v3').DataType := ftWideString;
    ADOQuery1.Parameters.ParamByName('v3').Value := ws;设置dataType为ftWideString,搞定