//自定义保存按钮
function TFRM_TRAINPLAN.ApplySave: boolean;
var
SqlStr,TempStr,BMID,DocID,PersonID:string;
lTransHandle:TTransactionHandle;
params:TParams;
begin
result := true;
lTransHandle := Conn.Transaction.Start(false);
params:=TParams.Create;
try
try
if not Conn.Connected then Conn.Connected:=True;
sqlstr := 'insert into 表A (A,B,C'))values(':A,:B,:C);
params.CreateParam( TFieldType.ftString,'A',TParamType.ptInput).Value := DataSetBroker.DataSet.FieldByName('A').AsString;
params.CreateParam(TFieldType.ftdatetime,'B',TParamType.ptInput).Value := DataSetBroker.DataSet.FieldByName('B').Asdatetime;
params.CreateParam(TFieldType.ftString,'C',TParamType.ptInput).Value := DataSetBroker.DataSet.FieldByName('C').AsString;
.................
Conn.ExecuteSQL(SqlStr,params,-1,'Error');
params.Clear;
Conn.Transaction.Commit(lTransHandle);
except
Conn.Transaction.Rollback(lTransHandle);
JsDialogs.ShowMsg('失败!','提示');
end;
finally
params.Free;
end;
END;
我以前是这种方法 提交事务
但这里 C为文本类型 时就 会报错 |