我的程序采用三层结构连结sql数据库,现发现两个问题,恳请各位高手帮忙解决:
1.当数据被新增或者修改之后更新至sql数据库时,采用如下方式:
clientdataset1.applyupdate(0)
更新完毕之后,进入sql数据库中查看,发现每个字段中的数据之后都有很长一段空格,请问怎样不把这些空格带到数据库中
2.做报表时,如第二次产生报表,程序出错,错误信息:
can not perform this operation on a open dataset
我的程序是这样写的:
    clientdataset1.commandtxt:=’select * from b_part where sn=’+’’’’+trim(edit1.text)+’’’'
    clientdataset1.active:=false;
    clientdataset1.active:=true;
请问怎样解决这个问题,谢谢!

解决方案 »

  1.   

    1。使用trim函数就可以去掉空格。
    2。
        clientdataset1.active:=false;
    clientdataset1.commandtxt:=’select * from b_part where sn=’+’’’’+trim(edit1.text)+’’’';
        clientdataset1.active:=true;
      

  2.   

    2.
        clientdataset1.active:=false;
        clientdataset1.commandtxt:=’select * from b_part where sn=’+’’’’+trim(edit1.text)+’’’'
        clientdataset1.active:=true;
      

  3.   

    //先close
        clientdataset1.active:=false;
        clientdataset1.commandtxt:=’select * from b_part where sn=’+’’’’+trim(edit1.text)+’’’'
        clientdataset1.active:=true;
      

  4.   

    :),比 hammer_shi(@农业专家@) 晚了
      

  5.   

    1、看看你数据库字段的类型是否是char而不是varchar。
      

  6.   

    clientdataset1.Close;
      clientdataset1.commandtxt:='select * from b_part where sn='+''''+trim(edit1.text)+''''
      clientdataset1.Open;
      

  7.   

    clientdataset1.active:=false;
    clientdataset1.commandtxt:='select * from b_part where sn='''+trim(edit1.text)+'''';
    clientdataset1.active:=true;