我的数据库程序不能同时运行,请帮帮忙(使用BED控件)(100分)

  • 主题发起人 主题发起人 nhf_2003
  • 开始时间 开始时间
N

nhf_2003

Unregistered / Unconfirmed
GUEST, unregistred user!
我的数据库程序不能同时运行,请帮帮忙(使用BED控件)
 
什么意思????说清楚一点,
 
就是说,单个运行 没问题;但同时运行就有BDE初始化错误
 
把Database的Handleshared设为True试试。
 
我没使用那个控件怎么办(Database);
 
那你怎么连的???
 
什么数据库?
 
我直接连接TTABLE控件,DATASOURCE控件。
 
会不会是你的BDE设置有问题?  还有检查一下你的程序。
最后放个TDatabase
 
就是Handleshared的问题,
 
这个TDATABASE是必须的吗,不要行不行呀
 
应该没问题的。
 
我是两个不同程序,别名也不同的。
 
那要检查一下你的程序。
 
TDATABASE可以统一管理数据表,容易控制。
是不是因为直接使用表造成出错就难说了
我简单试了一下,没出错
 
会不会是别名的问题
你最好在程序中动态赋值给 Table 的 DataBase 属性
 
下面是程序出错的地方,都在SESSION 处出错的,请看一下
程序1:
var
reg:tregistry;
Key,s: String;
ph: TStringList;
strAsliasPath:string;
begin
s:=ExtractFilePath(ParamStr(0))+'bde';
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
key:='/software/borland/database engine';
if reg.openkey(key,true) then
reg.writestring('dllpath',s);
Key:='/Software/Borland/BLW32';
if Reg.OpenKey(Key, True) then
Reg.WriteString('BLAPIPATH',s);
Key:='/Software/Borland/BLW32';
if Reg.OpenKey(Key, True) then
begin
Reg.WriteString('LOCALE_LIB0','fareasst.bll');
reg.WriteString('LOCALE_LIB1','usa.bll');
end;
Reg.Free;
strAsliasPath:=ExtractFiledir(ParamStr(0))+'/data';
ph := TStringList.Create;
session.PrivateDir:=s;
Session.GetAliasNames(ph);
if (ph.IndexOf('ebdata') <> -1) then
session.DeleteAlias('ebdata');
Session.AddStandardAlias('ebdata',strAsliasPath , 'Paradox');
Session.SaveConfigFile;
ph.Free;
程序2:
var
reg:tregistry;
Key,s: String;
ph: TStringList;
strAsliasPath:string;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
s:=ExtractFilePath(ParamStr(0))+'bde';
key:='/software/borland/database engine';
if reg.openkey(key,true) then
reg.writestring('dllpath',s);
Key:='/Software/Borland/BLW32';
if Reg.OpenKey(Key, True) then
Reg.WriteString('BLAPIPATH',s);
Key:='/Software/Borland/BLW32';
if Reg.OpenKey(Key, True) then
begin
Reg.WriteString('LOCALE_LIB0','fareasst.bll');
reg.WriteString('LOCALE_LIB1','usa.bll');
end;
Reg.Free;
strAsliasPath:=ExtractFiledir(ParamStr(0))+'/data';
ph := TStringList.Create;
session.PrivateDir:=s;
Session.GetAliasNames(ph);
if (ph.IndexOf('ebdatacity') <> -1) then
session.DeleteAlias('ebdatacity');
Session.AddStandardAlias('ebdatacity',strAsliasPath , 'Paradox');
Session.SaveConfigFile;
ph.Free;
 
多人接受答案了。
 
什么原因????
 
还没查出,只是大家都不回答了,只好结束了
 
后退
顶部