我用delphi调用存储过程向数据库中插入数据的时候,有部分字段插入的数据只有部分内容(如,四个字的成了两个字),但是使用单步跟踪的时候,传入的参数也是正确的,不知道为什么到了调用存储过程后就丢失了部分数据,我的字段长度也是足够大的。请各位大侠帮忙!谢谢!1

解决方案 »

  1.   

    self.ADOsign.Close;
             self.ADOsign.Parameters.ParamValues['@client_phone']:=trim(edit1.Text);
             ADOsign.Parameters.ParamValues['@order_type']:='新开';
              ADOsign.Parameters.ParamValues['@order_kfid']:=login_id;
              adosign.Parameters.ParamValues['@prior_smid']:='';
              adosign.Parameters.ParamValues['@order_csid']:='';
              adosign.Parameters.ParamValues['@order_from']:='客户开发';
              adosign.Parameters.ParamValues['@operation_type']:=employee_tag;   
              self.ADOsign.ExecProc;这样执行一会客户开发就变成了客户了,请问该如何解决,谢谢各位大侠!
      

  2.   

    上面的代码执行后order_form 的参数“客户开发'”就变成了‘客户'’,请问该如何解决,谢谢各位大侠!
      

  3.   

    我也曾被这个问题给刷了一把;
    你打Parameters看看,每个参数的size;修改一下
      

  4.   

    adosign.Parameters.ParamByName('@order_from').Value :='客户开发';
    你用这种方法来试一下
      

  5.   

    CREATE PROCEDURE [sign_form]
     @order_type                  [varchar](20), 
     @order_kfid               [varchar](10),  
     @prior_smid               [varchar](10),
     @order_csid                [varchar](10),  
     @order_smdate  [datetime],
              @order_from                   [varchar](20), 
     @operation_type           [varchar](20) 
             )
    AS INSERT INTO [long_distance].[dbo].[TB_ORDER_FORM] 
     ( [order_type] , 
     [order_kfid],
     [prior_smid],  
     [order_csid],  
     [order_smdate],
                  [order_from], 
        [operation_type]
     ) 
     
    VALUES 
     (
                  @order_type   ,
     @order_kfid,  
     @prior_smid,
     @order_csid,
     @order_smdate,
              @order_from,
     @operation_type )
    以上是部分代码