小弟写了一段程序,功能是从"课程表"中选择‘课程名称’属性加入到"学生表"的‘选课’属性列中,代码如下:
unit Unit6;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;type
TForm6 = class(TForm)
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid2CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form6: TForm6;
i,j:boolean;implementation{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
var workbuffer1,workbuffer2:string;
begin
if (i=false)
then
messagedlg('请先选择学生信息!',mtWarning,[mbOk],0)
else if (j=false)
then
messagedlg('请先选择课程信息!',mtWarning,[mbOk],0)
else
with adoquery1 do
begin
disablecontrols;
try
workbuffer1:=adoquery2.FieldValues['课程名称'];
workbuffer2:=fieldbyname('选课情况').asstring+','+workbuffer1;
edit;
fieldbyname('选课情况').asstring:=workbuffer2;
post;
finally
enablecontrols;
end;
end;procedure TForm6.DBGrid1CellClick(Column: TColumn);//判断是否在课程表中选了一条记录
begin
i:=true;
end;procedure TForm6.DBGrid2CellClick(Column: TColumn);//判断是否在学生表中选了一条记录
begin
j:=true;
end;
end.
DBGrid1、DBGrid2中放的分别是课程表和学生表。
编译后提示如下出错信息:
[Error] Unit6.pas(68): Statement expected but 'PROCEDURE' found
[Fatal Error] child.dpr(12): Could not compile used unit 'Unit6.pas'
大家帮忙看看是怎么回事,先谢谢了
unit Unit6;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;type
TForm6 = class(TForm)
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid2CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form6: TForm6;
i,j:boolean;implementation{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
var workbuffer1,workbuffer2:string;
begin
if (i=false)
then
messagedlg('请先选择学生信息!',mtWarning,[mbOk],0)
else if (j=false)
then
messagedlg('请先选择课程信息!',mtWarning,[mbOk],0)
else
with adoquery1 do
begin
disablecontrols;
try
workbuffer1:=adoquery2.FieldValues['课程名称'];
workbuffer2:=fieldbyname('选课情况').asstring+','+workbuffer1;
edit;
fieldbyname('选课情况').asstring:=workbuffer2;
post;
finally
enablecontrols;
end;
end;procedure TForm6.DBGrid1CellClick(Column: TColumn);//判断是否在课程表中选了一条记录
begin
i:=true;
end;procedure TForm6.DBGrid2CellClick(Column: TColumn);//判断是否在学生表中选了一条记录
begin
j:=true;
end;
end.
DBGrid1、DBGrid2中放的分别是课程表和学生表。
编译后提示如下出错信息:
[Error] Unit6.pas(68): Statement expected but 'PROCEDURE' found
[Fatal Error] child.dpr(12): Could not compile used unit 'Unit6.pas'
大家帮忙看看是怎么回事,先谢谢了
var workbuffer1,workbuffer2:string;
begin
if (i=false)
then
messagedlg('请先选择学生信息!',mtWarning,[mbOk],0)
else if (j=false)
then
messagedlg('请先选择课程信息!',mtWarning,[mbOk],0)
else
with adoquery1 do
begin
disablecontrols;
try
workbuffer1:=adoquery2.FieldValues['课程名称'];
workbuffer2:=fieldbyname('选课情况').asstring+','+workbuffer1;
edit;
fieldbyname('选课情况').asstring:=workbuffer2;
post;
finally
enablecontrols;
end;
end; //少了一个End;
end;