with ADOQuery Do Begin
    close;
    SQL.Clear;
    SQL.Add('INSERT Contacts_General ([ID],[First],[Middle],[Last],[Nickname],[Title],');
    SQL.Add('[Suffi], [Photo]) Values (:id,:first,:mid,:last,:nick,:title,:suf,:pho)');    Parameters.ParamByName('id').value:=Profile.tag;
    Parameters.ParamByName('first').value:=Profile.general.First;
    Parameters.ParamByName('mid').value:=Profile.general.Middle;
    Parameters.ParamByName('last').value:=Profile.general.Last;
    Parameters.ParamByName('nick').value:=Profile.general.Nickname;
    Parameters.ParamByName('title').value:=Profile.general.Title;
    Parameters.ParamByName('suf').value:=Profile.general.Suffi;
    Parameters.ParamByName('pho').value:=Profile.general.Photo;
    Prepared:=true;
    ExecSQL;
以上SQL语句执行的时候,说语法错误,莫名其妙。
Profile.general是结构体,有值的。数据库是ACCESS 2000,id, first,middle和last非空,我看了结构体的值,不是空,符合要求。
以前遇到此类问题,是update语法错误,结果是因为first,middle和last是关键字,加上了[]就好了。但是,这次不知道为何就不行了。