我是一个delphi6.0初学者,有问题请教大家!对你们来说应该很简单的,分值:100!(100分)

  • 主题发起人 主题发起人 12w34e
  • 开始时间 开始时间
这句的意思和你在设属性栏里的database一样。只不过他是直接连到数据库。
一般你可以加在formcreat里。

如果你只有一个事件用到这个quary
begin
query1.DatabaseName := ExtractFilePath(Application .ExeName )
{数据库文件和执行文件在同一目录下}
query1.close;
query1.sql.clear
query1.sql.add(select XX from 表名);
query1.open

{针对一张表就是一个文件的那种。如果是像access这样的数据库的话建议你用adoconnection}

 
现在是两中情况:
1.我用BDE中的Query、用dasktop建的表(有好几张)。然后用你那句就可以实现吗?
如何实现?
2.我用adoquery和用Access建表,那么运行通过以后,就把exe执行文件和数据库放到
一个文件夹里。然后拿到任何一台机子上就可以使用了吗?(当然,这机子是
98以上的,但没有装delphi6.0)
 
1:query1.DatabaseName := ExtractFilePath(Application .ExeName )
2:
var
DataPath:sting;
begin
DataPath:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
DataPath:=DataPath +ExtractFilePath(Application .ExeName)+' yourdatabasename;Persist Security Info=False';
ADOConn .Connected := False ;
ADOConn .ConnectionString :=DataPath ;
ADOConn .Connected := True ;
eg:yourdatabasename->data.mdb(和exe在同一目录下)
所有AdoQuery连接到adoconnection上就可以了
 
我成功了!
不过是用了第一种方法,不过第二种方法就还没有成功!
因为第二种方法的代码的一些语句我根本看不懂!
请指教!可否在没句后加一点注释!谢谢!
 
var
DataPath:string;
begin
DataPath:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';//access的驱动
DataPath:=DataPath + ExtractFilePath(Application .ExeName){取得你执行文件的目录}+yourdatabasename{你数据的相对路径和名字}
DataPath:=DataPath+';Persist Security Info=False';//这一行照写就可以了

ADOConn .Connected := False ; //关闭adoconnection
ADOConn .ConnectionString :=DataPath ;//指定adoconnection的String
ADOConn .Connected := True ;//打开adoconnection
{连接完成}
AdoQuery1.Connection:= AdoConnection{可以在属性页里设(AdoQuery的属性页第五行)}
//在同一个From里,所有的Ado控件都可以 通过 一个AdoConnection连到数据库
 
就第二种方法:
1.exe执行文件和数据库需要放到同一个文件夹里吗?
2.这段代码放到哪里?
3."yourdatabasename{你数据的相对路径和名字}"
这里的yourdatabasename应该是一个路径吗?如'D:/sfd' 吗?
 
no.no
1.exe执行文件和数据库需要放到同一个文件夹里吗?
> 如果
dirA
a.exe b.mdb
yourdatabasename 'b.mdb'

dirA
a.exe
dirA/Dirb/
b.mdb
youdatabasename 'dirB/b.mdb'

2:写在对数据库操作之前。
所以一般可以写在 formOnCreate or FormOnShow里面

3:d:/*是绝对路径
 
var
DataPath:string;
begin
DataPath:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
DataPath:=DataPath + ExtractFilePath(Application .ExeName)+'db1.mdb';
DataPath:=DataPath+';Persist Security Info=False';

ADOConn .Connected := False ;
ADOConn .ConnectionString :=DataPath ;
ADOConn .Connected := True ;

AdoQuery1.Connection:= AdoConnection
有错误:ADOConn .Connected := False ;
错误提示:[Error] Unit1.pas(764): Undeclared identifier: 'ADOConn'
可能下面的语句还会有错
 
adoconn=adoconnection

我为了方便写,写了一个名
 
var
DataPath:string;
begin
DataPath:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
DataPath:=DataPath + ExtractFilePath(Application .ExeName)+'db1.mdb';
DataPath:=DataPath+';Persist Security Info=False';

ADOConnection.Connected := False ;
ADOConnection.ConnectionString :=DataPath ;
ADOConnection.Connected := True ;

AdoQuery1.Connection:= AdoConnection
还是有错
 
yi,哪一步出错
 
'/db1.mdb'试一下
 
ADOConnection.Connected := False ;
还是这里!吃饭了没?
 
DataPath:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
DataPath:=DataPath +ExtractFilePath(Application .ExeName)+'db1.mdb;Persist Security Info=False';

这么写试一下

 
ADOConnection.Connected := False ;
ADOConnection.ConnectionString :=DataPath ;
ADOConnection.Connected := True ;
AdoQuery1.Connection:= AdoConnection
是这里错了,错误提示:
[Error] Unit1.pas(763): Undeclared identifier: 'ADOConnection'
 
AdoQuery1.Connection:= AdoConnection{可以在属性页里设(AdoQuery的属性页第五行)}
 
是在connection 属性上写:adoconnection 吗?
写不上去,而且下拉是空白的
错误提示:Invalid property value
 
ADOConnection.Connected := False ;
这一行就出错了。错误提示:[Error] Unit1.pas(763): Undeclared identifier: 'ADOConnection'
 
dao

你加 adoconnection 这个控件了吗?

ado页的第一个
 
啊!没有,我只加了一个adoquery.
我现在加了,属性里也有一个和adoquery的一个属性一样的属性:connectionstring.
是不是也要对其实行象adoquery那样的操作
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部