其实我就是连接同一个数据库的不同表 delphi是这个学期的选修课 所以很多都不熟悉 我想在点击进入tabsheet5的时候修改连接 procedure Tmainform.TabSheet5Show(Sender: TObject); var student:string; begin ADOTable1.TableName:= student; end; 可是提示是错误的,为什么?我已经连好了数据库,student是其中的一个表。
Projece books.exe raised exception class EDatabaseError with message'ADOTable:cannot perform this operation on an open dataset',process stopped.use step or run to continue'
修改TableName属性,只能连接同一个数据库中不同的数据表,而不是不同的数据库。
其实我就是连接同一个数据库的不同表
delphi是这个学期的选修课
所以很多都不熟悉
我想在点击进入tabsheet5的时候修改连接
procedure Tmainform.TabSheet5Show(Sender: TObject);
var
student:string;
begin
ADOTable1.TableName:= student;
end;
可是提示是错误的,为什么?我已经连好了数据库,student是其中的一个表。
另外在改变TableName之前要关闭
ADOTable1.Active := False;
ADOTable1.TableName := 'Student';
ADOTable1.Active := True;
恩,谢谢
那个问题解决了
现在的问题是还没达到我要的目的
比如
procedure Tmainform.TabSheet5Show(Sender: TObject);
begin
ADOTable1.Active := False;
ADOTable1.TableName := 'student';
ADOTable1.Active := True;
end;
procedure Tmainform.TabSheet1Show(Sender: TObject);
begin
ADOTable1.Active := False;
ADOTable1.TableName := 'book';
ADOTable1.Active := True;
end;
我想在点tabsheet5的时候连接student表
在点tabsheet1的时候连接book表提示错误:
[Error] Unit1.pas(50): Undeclared identifier: 'TabSheet1Show'
[Error] Unit1.pas(50): ';' expected but '(' found
[Error] Unit1.pas(52): Undeclared identifier: 'ADOTable1'
[Error] Unit1.pas(53): Missing operator or semicolon
[Error] Unit1.pas(54): Missing operator or semicolon
[Fatal Error] books.dpr(5): Could not compile used unit 'Unit1.pas'并不是我不想专研delphi
实在是选修课,现在期末做数据库设计,开发语言我就选择了delphi
可是实在太多不懂,回头再做又比较难
所以请你们帮帮我,谢谢
谢谢chris_mao 的提示
结贴
procedure TForm1.PageControl1Change(Sender: TObject);
const
TableArray: array [0..1] of string = ('student', 'book');
begin
ADOTable1.Active := False;
ADOTable1.TableName := TableArray[TPageControl(Sender).ActivePageIndex];
ADOTable1.Active := True;
end;