type
  TCustRecord = packed record
    Company: string[50];
    Department: string[50];
    ResponsibilityMan: string[10];
    Item: string[50];
    Money: real;
    MoneyDirection: boolean;
    Date: TDateTime;
    import: string[20];
    Note: string[200];
  end;function TEnterPlanFundsClass.SaveRecord(Value: TCustRecord): boolean;
var
MyQuery   :   TADOQuery;begin
    GetExecuteNoQuery('select * from T_Organ,T_Class,T_User,T_Dfund');
    showmessage(value.Company);
    GetExecuteNoQuery('insert into T_Organ (FOrganName) VALUES ('+Value.Company +')');//这里出错了
    GetExecuteNoQuery('insert into T_Class (FOrganName) VALUES ('+Value.Department+')');//这里出错了
    GetExecuteNoQuery('insert into T_User (FUserName) Values  ('+Value.ResponsibilityMan+')');//这里出错了
    GetExecuteNoQuery('insert into T_Item (FItemName) Values ('+value.Item+')');//这里出错了
    //GetExecuteNoQuery('insert into T_Fund (FMoney) Values ('+value.Money+')');//这里出错了
    //GetExecuteNoQuery('insert into T_Fund (FMoneyDirection) Values ('+value.MoneyDirection+')');//这里出错了
    //GetExecuteNoQuery('insert into T_Fund (FDfundDate) Values ('+value.Date+')');//这里出错了
    //GetExecuteNoQuery('insert into T_Fund (FFundSumarry) Values ('+value.Note+')');//这里出错了
   
end;
function TEnterPlanFundsClass.GetExecuteNoQuery(
  ExecuteSQL: String): Boolean;
var TempQuery:TADOQuery;
    MyObj   :   TEnterPlanFundsClass;
begin
try
    try
    TempQuery:=GetQuery;
    MyObj.InitQuery(TempQuery,ExecuteSQL);
    TempQuery.ExecSQL;
    Result:=True;
    except
       Result:=False;
    end;
finally
    TempQuery.Free;
end;
end;

解决方案 »

  1.   

    insert into T_Item (FItemName) 你每个表里面都只有1个字段么?好像有的数据库不能这样插入。必须列出所有字段。 
      

  2.   

    如果是字符串或日期类型的字段,需要:
    GetExecuteNoQuery('insert into T_Organ (FOrganName) VALUES ('+quotedstr(Value.Company) +')');
      

  3.   

    在BDE下可以这样,在ADO下你得对字符串加一个 QuotedStr(str)