1.怎样判定一个字符串中全是数字字符(除strtoint转换以外的方法);
  2.俩个dbtable连接同一数据表,有各自的datasource,dbgrid.请问当一个
    dbtable的数据更改时,怎样使另一个dbtable及其dbgrid更新,

解决方案 »

  1.   

    1.遍历字符串,逐个检查
    2.dbtable的afteropen事件里做
      

  2.   

    1.其实用strtoint转换最简单,如果不想这么做,可以一位一位来判断
    var
      loop : Integer;
      isint: boolean;
    begin
      isint := true;
      for loop := 0 to length(yourstring)-1 do
      begin
        if(Pos(yourstring[loop],'0123456789') = 0) then
        begin
          isint := false;
          break;
        end;
      end;
      if(isint) then
        ShowMessage('the value is integer')
      else
        ShowMessgae('the value is not integer');
    end;2.最好后台数据库创建个触发器,或者在前台用Query添加SQL语句更新另一个表,然后前台刷新表格
      dbtable2.active := false;
      dbtable2.active := true;
      

  3.   

    1.
    var
      i:integer;
      b:boolean;
    begin
      b:=true; 
    for i:=1 to length(s) do
             if not((ord(s[i])>=48)and(ord(s[i])<=57)) then
                begin
                     b:=false;
                     breake;
                end;
    if b then showmessage('不是数字');
    end;  2.
        table1.close;
        table1.open;
      

  4.   

    1.写一个循环,判断字符串中每一个字符的asc码,如果不在数字之间(转换函数忘了,数字的asc码范围也忘了,不好意思),就break2.在table1的afterpost事件写代码table2.refresh