由于路径更改的问题,所以数据库中文件路径字段的记录的长度必须减少相同的长度。请问如何进行操作。我觉得应该先把记录读取出来,赋给给一个变量,再用这个变量把原来的记录覆盖。我就是中间这个不知道怎么做。我知道减少字符串用copy函数,但是我应该怎么将那个路径的记录读取出来到一歌字符串变量中哪?

解决方案 »

  1.   

    你能不能详细一点阿,举个例子吧
    update tab_name set field_name=substr(field_name,3)
      

  2.   

    这样说吧
    原来的路径字段的记录带有盘符,现在要把盘符全部去掉所以这个记录的长度要减去3。
    我用subsrr说"capability not support"ps:数据库是padadox的
      

  3.   

    var s:string;
    while not table1.eof do begin
      s:=table1.fieldbyname[your field].asstring;
      ...(你的操作)  table1.next;
    end;
      

  4.   

    update tab_name set field_name=substring(field_name from 3 to 255);padadox没有len,计算字符函数,所以from 3 to 255,这个255,是这个字段最大的长度。不过也没试,看行不行。
      

  5.   

    这种全部更新操作,能用SQL操作的尽量用SQL,速度快点。
      

  6.   

    按照qinmaofan(请多指教) 的编写代码,很奇怪的是不知道为什么记录没有一点变化。
    按照copy_paste(木石三)的,说“to”有错误,大概是无法识别“to”
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var s,temp:string;
    beginwhile not table1.eof do begin
      s:=table1.fieldbyname('FILE_PATH').asstring;
      temp:=copy(s,4,length(s)-3);
      Table1.FieldByName('FILE_PATH').Value:=temp;  table1.next;
    end;end;
      

  8.   

    你没有Post 数据表怎么会有变化?
    在 Netx 前 加上 Post
      

  9.   

    while 前面加上 table1.first