Delphi的例子,你可以照葫芦画瓢。 procedure TForm1.ChangeAlias;var AParams: TStringList; Dir: string; begin ifnot Session.IsAlias('MyAlias') then begin ShowMessage('Alias MyAlias does not exist'); Exit; end; AParams := TStringList.Create; try // get the current PATH parameter Session.GetAliasParams('MyAlias',AParams); Dir := Copy(AParams.Strings[0],6,255); // get the new PATH parameter if InputQuery('MyAlias Alias Path','Path:' ,Dir) then begin // Update the alias parameters AParams.Clear; AParams.Add('PATH=' + Dir); Session.ModifyAlias('MyAlias',AParams); Session.SaveConfigFile; end; finally AParams.Free; end; end;
数据库连接采用odbc方式
控件采用table,dbgrid,datasourse,database.
如果采用直接相连,post的保存的话,我不post的也就保存了。
我用backroll的方式,发觉数据量大就好慢。就决定采用引入一个临时的dbf来存放数据把数据逻辑搞完了再入库,入库时采用的backroll方式。如下
With Table1 do begin
Database1.StartTransaction;
try
ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
CommitUpdates; end;
。后来发觉这样不太好。
所以征求一个好的解决方案。前提还是odbc连接方式。我的联系方式
[email protected]
10652093
http://nizvoo.myrice.com
我个人认为对大数据量的操作,最好不用事务,那样太慢了。
我记得有一次在倒300万条记录时,用了事务。结果计算机干了2天。大概快做好的时候崩溃了。重启后,又回滚了2天。
说can not edit the sqlpassthru????
procedure TForm1.ChangeAlias;var
AParams: TStringList;
Dir: string;
begin
ifnot Session.IsAlias('MyAlias') then
begin
ShowMessage('Alias MyAlias does not exist');
Exit;
end;
AParams := TStringList.Create;
try
// get the current PATH parameter
Session.GetAliasParams('MyAlias',AParams);
Dir := Copy(AParams.Strings[0],6,255);
// get the new PATH parameter
if InputQuery('MyAlias Alias Path','Path:' ,Dir) then begin
// Update the alias parameters
AParams.Clear;
AParams.Add('PATH=' + Dir);
Session.ModifyAlias('MyAlias',AParams);
Session.SaveConfigFile;
end;
finally
AParams.Free;
end;
end;
到string[N]不是不