Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限, "无法打开 PARADOX.NET。这个文件可以随便删除的,下次会自动产生。
Permission denied.C:\PDOXUSRS.NET
如果用于没有对C:\PDOXUSRS.NET的写权限,系统就会报错。
PDOXUSRS.NEt为计算机根目录下的一个数据库,在文件C:盘根目录下生成。
果你装了Delphi编的程序,而它用的是Paradox数据库,就会出现这样的问题。我使用BDE访问Oracle数据库也会出现此问题。
可以改变这个文件的存放位置
如Tdatabase1.session.netfiledir:=d:\abdd\;或者存放在自己程序的目录,这样就不会有权限的问题了。还有几个属性NetFileDir、PrivateDir和ConfigMode属性。
我发现当Tquery1.CachedUpdates:=true;时就要产生这个文件。
Network initialization failed.
ExeSQL是直接执行SQL语句,而与CachedUpdates没有任何关系。
CachedUpdates是指对TTable或TQuery中的已修改的数据进行缓存,直到调用
ApplyUpdates.
ApplyUpdates是对TQuery或TTable中已修改,但为提交的数据进行提交,
并且只有在TQuery或TTable对象的CachedUpdates=True且Active=True,
State=dsbrowse时才能调用。
TQuery的CachedUpdates必须陪合TUpdateSQL控件才能使用。
例如:
Query1.SQL.Text:=\'select field1,field2 from table1\';
Query1.CachedUpdates:=True;
Query1.UpdateObject:=UpdateSQL1;
UpdateSQL1.InsertSQL:=\'insert table1(field1,field2) values (:field1,:field2)\';
UpdateSQL1.deleteSQL:=\'delete from table1 where field1=:field1,field2=:field2\';
UpdateSQL1.ModifySQL:=\'update table1 set field1=:field1,field2=:field2 where field1=:old_field1 and field2=:old_field2;
Query1.Open;
Query1.First;
while not Query1.Eof do begin
Query1.Edit;
Query1.FieldByName(\'field1\').AsString:=\'123\';
Query1.Post; //此时数据并未提交到后台。
Query1.Next;
end;
Query1.Database.StartTransaction
try
Query1.ApplyUpdates;
Query1.Database.Commit;
except
Query1.Database.Rollbback;
raise;
end;
Query1.CommitUpdates;
Paradox数据库文件放在一服务器上的某一共享目录下,当一个用户在访问, 另一用户打开文件时会显示“Pdoxusrs.Lck 被其它用户使用.
, Paradox.Lck, PdoxUsrs.Lck
文件是用来控制纪录或文件锁定的。paradox就靠它知道当前纪录有谁在用。
这是系统文件可以不必管它。
--------------------- 本文来自 大聪 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/dacong/article/details/51039990?utm_source=copy