你的数据库中支持LEN()这个函数吗

解决方案 »

  1.   

    你是不是把adodataset1的paramcheck设置成false了?如果是那就改过来
      

  2.   

    我用的是SQL Server 数据库和 Access数据库
      

  3.   

    >>ADODataSet1.Active:=false;
    >>ADODataSet1.Commandtext:='Select par1,par2,par3  from table_name where len(par1)>:par';
    >>ADODataSet1.Parameters[0].Value:=name;
    >>ADODataSet1.Active:=True;
    如果就这么几句,你应在ADODataSet1.Parameters[0].Value:=name;前加上
         with adodataset1.Parameters.AddParameter do
         begin
              Name:='par';
              DataType:=ftString;
              Direction:= pdInput;
         end;
      

  4.   

    我没有将adodataset1的paramcheck设置成false
      

  5.   

    fredfei(飞飞) 兄..是不是太麻烦了呀...我的程序中有12个参数呀.....
      

  6.   

    我作了多少个这样的程序也从来没有出过这样的错。
    你先实验一下你的sql在sqlserver里能不能实现,估计是实现的问题。
    对了以前有一个帖子是说ADODataSet如果作了查询就不能作插入,作了插入就不能作查询。平时我的原则一个DataSet作一个工作
      

  7.   

    我以前传入参数也是可以的.没出过错.不过以前是字符串.现在传的是Integer变量..我试过了,传入参数是字符串类型的就不出错,传入参数是Integer类型的就出错...