unit Unit1chaxun;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DBCtrls, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
ComboBox1: TComboBox;
rgfieldnames: TRadioGroup;
btnsearch: TButton;
ADODataSet2: TADODataSet;
procedure ADODataSet1AfterOpen(DataSet: TDataSet);
procedure rgfieldnamesClick(Sender: TObject);
procedure btnsearchClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
fillfieldnames;
fillsearchvalues;
end;procedure TForm1.fillfieldnames;
var
icount:integer;
begin
rgfieldnames.items.clear;
for icount:=0 to ADODataset1.fields.count - do
begin
rgfieldnames.items.add(ADODataset1.fields[icount].fieldname);
end;
rgfieldnames.itemindex:=0;
end;procedure TForm1.fillsearchvalues;
begin
try
ADODataset2.close;
ADODataset2.commandtext:='select distinct'+getsearchfield+'from customers';
ADODataset2.open;
cbsearchvalue.items.clear;
while not ADODataset2.eof do
begin
cbsearchvalue.items.add(ADODataset2.fields[0].asstring);
ADODataset2.Next;
end;
finally
ADODataset2.close;
end;
end;function TForm1.getsearchfield:string;
begin
result:=ADODataset1.fields[rgfieldnames.itemindex].fieldname;
end;
procedure TForm1.rgfieldnamesClick(Sender: TObject);
begin
fillsearchvalues;
end;procedure TForm1.btnsearchClick(Sender: TObject);
begin
ADODataset1.Locate(getsearchfield,cbsearchvalue.text,
[locaseinsensitive,lopartialkey]);
end;procedure TForm1.btnMultiSearchClick(Sender: TObject);
begin
ADODataset1.Locate('city,country',VarArrayOf([edit1.Text,edit2.Text]),
[locaseinsenvitive,lopartialkey]);
end;end.[Error] Unit1chaxun.pas(44): Undeclared identifier: 'fillfieldnames'
[Error] Unit1chaxun.pas(45): Undeclared identifier: 'fillsearchvalues'
[Error] Unit1chaxun.pas(48): Undeclared identifier: 'fillfieldnames'
[Error] Unit1chaxun.pas(52): Undeclared identifier: 'rgfieldnames'
[Error] Unit1chaxun.pas(52): Missing operator or semicolon
[Error] Unit1chaxun.pas(53): Undeclared identifier: 'ADODataset1'
[Error] Unit1chaxun.pas(53): 'DO' expected but identifier 'fields' found
[Error] Unit1chaxun.pas(55): Missing operator or semicolon
[Error] Unit1chaxun.pas(57): Declaration expected but identifier 'rgfieldnames' found
[Error] Unit1chaxun.pas(58): '.' expected but ';' found
[Error] Unit1chaxun.pas(60): Undeclared identifier: 'fillsearchvalues'
[Error] Unit1chaxun.pas(63): Undeclared identifier: 'ADODataset2'
[Error] Unit1chaxun.pas(64): Undeclared identifier: 'getsearchfield'
[Error] Unit1chaxun.pas(66): Undeclared identifier: 'cbsearchvalue'
[Error] Unit1chaxun.pas(67): 'DO' expected but identifier 'eof' found
[Error] Unit1chaxun.pas(69): 'END' expected but ')' found
[Error] Unit1chaxun.pas(71): EXCEPT or FINALLY expected
[Error] Unit1chaxun.pas(72): 'END' expected but 'FINALLY' found
[Warning] Unit1chaxun.pas(75): Text after final 'END.' - ignored by compiler
[Error] Unit1chaxun.pas(26): Unsatisfied forward or external declaration: 'TForm1.rgfieldnamesClick'
[Error] Unit1chaxun.pas(27): Unsatisfied forward or external declaration: 'TForm1.btnsearchClick'
[Error] Unit1chaxun.pas(28): Unsatisfied forward or external declaration: 'TForm1.btnMultiSearchClick'
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DBCtrls, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
ComboBox1: TComboBox;
rgfieldnames: TRadioGroup;
btnsearch: TButton;
ADODataSet2: TADODataSet;
procedure ADODataSet1AfterOpen(DataSet: TDataSet);
procedure rgfieldnamesClick(Sender: TObject);
procedure btnsearchClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
fillfieldnames;
fillsearchvalues;
end;procedure TForm1.fillfieldnames;
var
icount:integer;
begin
rgfieldnames.items.clear;
for icount:=0 to ADODataset1.fields.count - do
begin
rgfieldnames.items.add(ADODataset1.fields[icount].fieldname);
end;
rgfieldnames.itemindex:=0;
end;procedure TForm1.fillsearchvalues;
begin
try
ADODataset2.close;
ADODataset2.commandtext:='select distinct'+getsearchfield+'from customers';
ADODataset2.open;
cbsearchvalue.items.clear;
while not ADODataset2.eof do
begin
cbsearchvalue.items.add(ADODataset2.fields[0].asstring);
ADODataset2.Next;
end;
finally
ADODataset2.close;
end;
end;function TForm1.getsearchfield:string;
begin
result:=ADODataset1.fields[rgfieldnames.itemindex].fieldname;
end;
procedure TForm1.rgfieldnamesClick(Sender: TObject);
begin
fillsearchvalues;
end;procedure TForm1.btnsearchClick(Sender: TObject);
begin
ADODataset1.Locate(getsearchfield,cbsearchvalue.text,
[locaseinsensitive,lopartialkey]);
end;procedure TForm1.btnMultiSearchClick(Sender: TObject);
begin
ADODataset1.Locate('city,country',VarArrayOf([edit1.Text,edit2.Text]),
[locaseinsenvitive,lopartialkey]);
end;end.[Error] Unit1chaxun.pas(44): Undeclared identifier: 'fillfieldnames'
[Error] Unit1chaxun.pas(45): Undeclared identifier: 'fillsearchvalues'
[Error] Unit1chaxun.pas(48): Undeclared identifier: 'fillfieldnames'
[Error] Unit1chaxun.pas(52): Undeclared identifier: 'rgfieldnames'
[Error] Unit1chaxun.pas(52): Missing operator or semicolon
[Error] Unit1chaxun.pas(53): Undeclared identifier: 'ADODataset1'
[Error] Unit1chaxun.pas(53): 'DO' expected but identifier 'fields' found
[Error] Unit1chaxun.pas(55): Missing operator or semicolon
[Error] Unit1chaxun.pas(57): Declaration expected but identifier 'rgfieldnames' found
[Error] Unit1chaxun.pas(58): '.' expected but ';' found
[Error] Unit1chaxun.pas(60): Undeclared identifier: 'fillsearchvalues'
[Error] Unit1chaxun.pas(63): Undeclared identifier: 'ADODataset2'
[Error] Unit1chaxun.pas(64): Undeclared identifier: 'getsearchfield'
[Error] Unit1chaxun.pas(66): Undeclared identifier: 'cbsearchvalue'
[Error] Unit1chaxun.pas(67): 'DO' expected but identifier 'eof' found
[Error] Unit1chaxun.pas(69): 'END' expected but ')' found
[Error] Unit1chaxun.pas(71): EXCEPT or FINALLY expected
[Error] Unit1chaxun.pas(72): 'END' expected but 'FINALLY' found
[Warning] Unit1chaxun.pas(75): Text after final 'END.' - ignored by compiler
[Error] Unit1chaxun.pas(26): Unsatisfied forward or external declaration: 'TForm1.rgfieldnamesClick'
[Error] Unit1chaxun.pas(27): Unsatisfied forward or external declaration: 'TForm1.btnsearchClick'
[Error] Unit1chaxun.pas(28): Unsatisfied forward or external declaration: 'TForm1.btnMultiSearchClick'
fillfieldnames;
fillsearchvalues;
fillfieldnames
rgfieldnames
是四个过程,没有在type组定义ADODataset1
没有定义
for icount:=0 to ADODataset1.fields.count - do 语法错误
......自己查找一下