例:
ADO1.Close;
ADO1.SQL.Text:='insert into ttbtestimg values(:id,:pic)';
ADO1.Parameters[0].Value:='1';
ADO1.Parameters[1].LoadFromFile('d:\aa.jpg',ftBlob );
ADO1.ExecSQL;
想把SQL改成修改语句,sql:='update table set name=:newname where id=1';
ADO1.Parameters[0].Value:='bbb';
也用上面的方法赋值,为什么不行呢?

解决方案 »

  1.   

    sql写错着的吧,update table xxx set ...
      

  2.   

    ADO1.Parameters['newname'].Value:='bbb'; 
      

  3.   

    update tableName set ... 
      

  4.   

    ADO1.Close; 
    ADO1.SQL.Text:='update table set name=:newname where id=1';
    ado1.Parameters.Clear;
    ado1.Parameters.AddParameter; 
    ADO1.Parameters[0].Value:='1'; 
    ADO1.Parameters[1].LoadFromFile('d:\aa.jpg',ftBlob ); 
    ADO1.ExecSQL;
      

  5.   

    priSql:='update '+priTable+' set tsfname=:a,tsfsex:=b where tsfuserid='''+Fdb.gkid+'''';
                    ADO1.Close;
                    ADO1.SQL.Clear;
                    ADO1.SQL.Text:=priSql;
                    ADO1.Parameters[0].Value:='4442';
                    ADO1.Parameters[1].Value:='0';
                    ADO1.ExecSQL;错误提示:关键字 WHERE 附近有语法错误!
      

  6.   

    set tsfname=:a,tsfsex:=b where tsfuserid=
    也错着着呢tsfset:=b在sql里是什么
      

  7.   

    tsfsex:=b这个最起应该是tsfsex=:b,b才会被替换吧