急,急,急,你们告诉我的方法不行啊,我都快疯了!!!!!!!!!!

时间:2022-12-28 11:16:49
我用的判断数据库表是否存在的方法如下:
错在什么地方?????
我用了一个TTable控件,名字为:Table1,数据库路径是真实路径。
方法如下:
table1.DatabaseName:=filepath;
if FileExists(filepath) then
begin
table1.TableName:='temptab';
if table1.Exists then
......
到判断的时候出现下述错误:
An error occurred while attemptig to initialize the Borland Database Engine(error $2108),Process stopped.
另外,我用的是上述方法,是不是要用到别名,另外,别名是怎么用的?
谢谢你们了,我求你们了,我都快要疯了。 

10 个解决方案

#1


DatabaseName怎么可以对应一个文件呢?
^_^

#2


table1.DatabaseName:=filepath;
if FileExists(ExtractFilePath(filepath)+'temptab.db') then//ExtractFilePath保证所得路径以'\'结尾,Temptab.db是数据库的文件名,请根据具体情况修改.
begin
table1.TableName:='temptab';

#3


to li_zhifu(东北人) 
我用的是Access数据库,而且在:
if FileExists......
这一步调试通过了,就是到了:
if Table1.Exists then
这一步的时候发生错误了,是不是因为使用Access数据库的原因?
或者是要使用别名?

#4


首先你看看你得bde是不是有错误,当bde的版本不同事会出现这个错误提示的,你可以用delphi自带的例子测试。
如果不是,有个笨办法就是动态设定别名,不过我想你的应该没有问题。
建议用ado,要容易得多。

#5


请问用哪一个Ado控件,我以前用的是VB,在vb中用这样的问题简直是非常Easy,但是到了Delphi中就出现了这样的问题,真是倒霉。
还有,不知道有没有用过下述方法试过:
FindDabaseID('');
根据它的返回值来调用:
FindTableID(DatabaseID,false);
然后根据返回的TableID来判断是否存在。


但是,问题来了,我用
FindDatabaseID函数的时候就出现问题了,不知道这是为什么?
我昨天才开始用Delphi,不知道是不是要像c/c++中那样:

#include <>什么的?

#6


怎么没有人回答我了?
好郁闷。

你们厂夜班费6毛钱,我们厂夜班费8毛钱。我上一个夜班比你多挣2毛钱,我要上一个
月夜班就比你多挣6块钱了。看起来是这样吧?其实不是这样。问题出在夜餐上面。你
们厂一碗馄饨2毛钱,我们厂一碗馄饨3毛钱,我上一个夜班才比你多挣1毛钱。我要是
一碗馄饨吃不饱,再加半碗,我我上一个夜班就比你少挣5分钱了,不过你们厂一碗馄
饨才给10个,我们厂一碗馄饨给12个,这样一算咱俩上一个夜班就挣得差不多了,就
没有什么区别了。可是你们厂的馄饨馅儿肉搁的多,算来算去还是我们厂亏了            
     
回答我啊,要不我真的亏了!!!:)

#7


大家好啊,这里,是我们学习的好地方

#8


我up一下

#9


你的问题在于数据库的别名,table1.DatabaseName要的是别名,你可以在BDE上创建一个别名,也可以用TDataBase控件建一个别名

#10


table1.DatabaseName只能是BDE别名或路径而不是文件全路径,如table1.DatabaseName:='C:\windows\'
如果你的filepath是路径的话,应该用if directoryexists() 而不是fileexists,fileexists的单元FileCtrl

#1


DatabaseName怎么可以对应一个文件呢?
^_^

#2


table1.DatabaseName:=filepath;
if FileExists(ExtractFilePath(filepath)+'temptab.db') then//ExtractFilePath保证所得路径以'\'结尾,Temptab.db是数据库的文件名,请根据具体情况修改.
begin
table1.TableName:='temptab';

#3


to li_zhifu(东北人) 
我用的是Access数据库,而且在:
if FileExists......
这一步调试通过了,就是到了:
if Table1.Exists then
这一步的时候发生错误了,是不是因为使用Access数据库的原因?
或者是要使用别名?

#4


首先你看看你得bde是不是有错误,当bde的版本不同事会出现这个错误提示的,你可以用delphi自带的例子测试。
如果不是,有个笨办法就是动态设定别名,不过我想你的应该没有问题。
建议用ado,要容易得多。

#5


请问用哪一个Ado控件,我以前用的是VB,在vb中用这样的问题简直是非常Easy,但是到了Delphi中就出现了这样的问题,真是倒霉。
还有,不知道有没有用过下述方法试过:
FindDabaseID('');
根据它的返回值来调用:
FindTableID(DatabaseID,false);
然后根据返回的TableID来判断是否存在。


但是,问题来了,我用
FindDatabaseID函数的时候就出现问题了,不知道这是为什么?
我昨天才开始用Delphi,不知道是不是要像c/c++中那样:

#include <>什么的?

#6


怎么没有人回答我了?
好郁闷。

你们厂夜班费6毛钱,我们厂夜班费8毛钱。我上一个夜班比你多挣2毛钱,我要上一个
月夜班就比你多挣6块钱了。看起来是这样吧?其实不是这样。问题出在夜餐上面。你
们厂一碗馄饨2毛钱,我们厂一碗馄饨3毛钱,我上一个夜班才比你多挣1毛钱。我要是
一碗馄饨吃不饱,再加半碗,我我上一个夜班就比你少挣5分钱了,不过你们厂一碗馄
饨才给10个,我们厂一碗馄饨给12个,这样一算咱俩上一个夜班就挣得差不多了,就
没有什么区别了。可是你们厂的馄饨馅儿肉搁的多,算来算去还是我们厂亏了            
     
回答我啊,要不我真的亏了!!!:)

#7


大家好啊,这里,是我们学习的好地方

#8


我up一下

#9


你的问题在于数据库的别名,table1.DatabaseName要的是别名,你可以在BDE上创建一个别名,也可以用TDataBase控件建一个别名

#10


table1.DatabaseName只能是BDE别名或路径而不是文件全路径,如table1.DatabaseName:='C:\windows\'
如果你的filepath是路径的话,应该用if directoryexists() 而不是fileexists,fileexists的单元FileCtrl