要设定datasource所要对应的数据集控件,必须使用dataset属性。我想你是要动态的创建database控件的参数吧,可以参考一下 with Db1 do begin Connected := false; Params.Clear; DatabaseName := 'SvrBd'; //database控件本身的名字 AliasName := 'Sd_Bd'; //database控件连接的别名 LoginPrompt := false; try Connected; except Application.MessageBox(pchar('无法连接本地数据库,系统终止!'),pchar('警告'),mb_ok); Application.Terminate; end; end;而table控件动态连接到database控件的时候,才使用你上面的程序
或者修改为这样:procedure TForm4.FormCreate(Sender: TObject); begin with datamodule5.DataSource1.dataset do begin databasename:='lwzl'; tablename:='book.db'; indexfieldnames:='bookno'; end; end;
procedure TForm4.FormCreate(Sender: TObject); begin with datamodule5.DataSource1.dataset do begin databasename:='lwzl'; tablename:='book.db'; indexfieldnames:='bookno'; end; end; 按照这个做吗?你的datamodule5创建了没有?
或许直接这样写吧: procedure TForm4.FormCreate(Sender: TObject); begin with datamodule5.table1 do begin databasename:='lwzl'; tablename:='book.db'; indexfieldnames:='bookno'; open; end; end;
cobi,还是不行,该怎么办?我给你发了mail。
我看不行,你就一步一步的写,datasource根本就没有什么databasename等属性,你就从table or query慢慢的把数据源,别名什么的设置一遍,准行!
我收到了,其实还是datasource的问题,即使加上了dataset的属性,后面的databasename等依然是无法调用,所以还是按照以下这样写吧! procedure TForm4.FormCreate(Sender: TObject); begin with datamodule5.table1 do begin databasename:='lwzl'; tablename:='book.db'; indexfieldnames:='bookno'; open; end; end;你的程序我没有看全部,不过要改的就是这里。有继续需要帮忙的吗?
with Db1 do
begin
Connected := false;
Params.Clear;
DatabaseName := 'SvrBd'; //database控件本身的名字
AliasName := 'Sd_Bd'; //database控件连接的别名
LoginPrompt := false;
try
Connected;
except
Application.MessageBox(pchar('无法连接本地数据库,系统终止!'),pchar('警告'),mb_ok);
Application.Terminate;
end;
end;而table控件动态连接到database控件的时候,才使用你上面的程序
begin
with datamodule5.DataSource1.dataset do
begin
databasename:='lwzl';
tablename:='book.db';
indexfieldnames:='bookno';
end;
end;
begin
with datamodule5.DataSource1.dataset do
begin
databasename:='lwzl';
tablename:='book.db';
indexfieldnames:='bookno';
end;
end;
按照这个做吗?你的datamodule5创建了没有?
急死了。
应该是数据类型的问题,以下是TDBDataSet的几个属性,请仔细看一下!property DatabaseName: string;
property TableName: TFileName;
property IndexFieldNames: string;
uses db,dbtables
procedure TForm4.FormCreate(Sender: TObject);
begin
with datamodule5.table1 do
begin
databasename:='lwzl';
tablename:='book.db';
indexfieldnames:='bookno';
open;
end;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
with datamodule5.table1 do
begin
databasename:='lwzl';
tablename:='book.db';
indexfieldnames:='bookno';
open;
end;
end;你的程序我没有看全部,不过要改的就是这里。有继续需要帮忙的吗?
1.form4里的uses加上db、dbtables
2.with datamodule5.booktable do
address FFFFFFFF.是什么意思?
点机OK时提示:booktable: not in cached update mode.
如果你没有DataSet,
那就别提了!