SqlText := 'UPDATE  TABLE_PROBLEM SET PROBLEM_TYPE:= AQMPROBLEM_TYPE,'
               +'PROBLEM_CONTENT := AQMPROBLEM_CONTENT,'
               +'PROBLEM_CONTENT_TXT := AQMPROBLEM_CONTENT_TXT, '
               +'PROBLEM_DIFFCULTY := AQMPROBLEM_DIFFCULTY,'
               +'PROBLEM_KEY := AQMPROBLEM_KEY,'
               +'PROBLEM_KNOWLEDGE := AQMPROBLEM_KNOWLEDGE'
               +'where PROBLEM_ID =  '+inttostr(deleteid);
    DM.AQWModify.SQL.Clear;
    DM.AQWModify.SQL.Add(SqlText);
    DM.AQWModify.Parameters.Refresh;
    DM.AQWModify.parameters.ParamByName('AQMPROBLEM_TYPE').Value := problemKind;
    DM.AQWModify.parameters.ParamByName('AQMPROBLEM_CONTENT').LoadFromStream(streamWord,ftBlob);
    DM.AQWModify.parameters.ParamByName('AQMPROBLEM_CONTENT_TXT').value :=problemContentTxt;
    DM.AQWModify.parameters.ParamByName('AQMPROBLEM_DIFFCULTY').Value := HardnessToNumber(problemHardness);
    DM.AQWModify.parameters.ParamByName('AQMPROBLEM_KEY').Value := MemoToString(answer.Lines);
    DM.AQWModify.parameters.ParamByName('AQMPROBLEM_KNOWLEDGE').Value :=listToString(knowledge);
    DM.AQWModify.ExecSQL;运行时总是说parameters 'AQMPROBLEM_TYPE' notfound。
   后来加了 DM.AQWModify.Parameters.Refresh;
还是不行,望高手指教,本人是新人没啥分数

解决方案 »

  1.   

    SqlText := 'UPDATE  TABLE_PROBLEM SET PROBLEM_TYPE= :AQMPROBLEM_TYPE,' //冒号写反了
                   +'PROBLEM_CONTENT =: AQMPROBLEM_CONTENT,' 
                   +'PROBLEM_CONTENT_TXT =: AQMPROBLEM_CONTENT_TXT, ' 
                   +'PROBLEM_DIFFCULTY =: AQMPROBLEM_DIFFCULTY,' 
                   +'PROBLEM_KEY =: AQMPROBLEM_KEY,' 
                   +'PROBLEM_KNOWLEDGE = :AQMPROBLEM_KNOWLEDGE' 
                   +'where PROBLEM_ID =  '+inttostr(deleteid); 
      

  2.   

    := AQMPROBLEM_TYPE 是表示赋值
    = :AQMPROBLEM_TYPE 表示引入变量
      

  3.   

    你那个冒号确实是写反了,你之前是不是用这个DM.AQWModify做过其他的事情啊,在DM.AQWModify.SQL.Clear; 之前写一句DM.AQWModify.SQL.Close;  试试吧
      

  4.   

    加DM.AQWModify.SQL.Close; 
    还是出现同样错误