classname是什么类型,改变的条件是什么,你这代码好象有点问题

解决方案 »

  1.   

    对了,classname是文本类型的,用的Access
      

  2.   

    改变的条件是当找到classname的值为'2002电信'的记录是改变它的值为由Edit1输入的值!有别的实现方法也行
      

  3.   

    while not chClaName.ADOTable1.FieldByName('classname').asstring=channame do
      

  4.   

    若必一定要用, 为何不用locate既然是ADO, 你可能是用Access或MS SQL, 你用ADOquery不是更方便
    ADOQuery1.sql.add('update MyTable set classname = '+ channame);
    ADOQuery1.Execsql;
    ADOQuery1.close;
      

  5.   

    var 
      tmp : variant;
      tmp := edit1.text;
      chClaName.ADOTable1.FieldByName('classname').Value:=tmp;
      

  6.   

    一般对于赋值最好用.AsString,.AsFloat等表明数据类型,在很多的情况下否则都会发生错误。
      

  7.   

    channame:='2002电信';
      chClaName.ADOTable1.First;
      while not chClaName.ADOTable1.eof do
      begin 
        if chClaName.ADOTable1.FieldByName('classname').Value=channame then
      chClaName.ADOTable1.FieldByName('classname').Value:=edit1.text;
        chClaName.ADOTable1.Next;
      end;我觉的应这样写
      

  8.   

    酷鱼,我一开始也那样写的,也出错:dataset not in insert or edit mode
      

  9.   

    要加chClaName.ADOTable1.Edit;
    使得相关的表处于可编辑状态
      

  10.   

    用ADOquery不行嗎?比你這樣方便多了;