Delphi 数据提供程序或其他服务返回
procedure TForm1.shuaixi(DBGrid: TDBGridEh; PrevDBGrid: TDBGridEh=nil; YrevDBGrid: TDBGridEh=nil; ContDBGrid: TDBGridEh=nil; SqlText: string='');
const
DefaultSqlText='SELECT Dormitory,IIF(CheckSex=1,''男'',''女'') as CheckSex, CheckContact, CheckQty,'
+'CheckQty1, (CheckQty-CheckQty1)AS CheckQty2, Checkfacilities from Checke';
begin
if (PrevDBGrid<>nil)and(PrevDBGrid.DataSource<>nil) then
PrevDBGrid.DataSource.DataSet:=nil;//将前面原来连接着的栅格断开与数据集的连接
ADOQuery1.Close;
if (YrevDBGrid<>nil)and(YrevDBGrid.DataSource<>nil) then
YrevDBGrid.DataSource.DataSet:=nil;//将前面原来连接着的栅格断开与数据集的连接
ADOQuery1.Close;
if (ContDBGrid<>nil)and(ContDBGrid.DataSource<>nil) then
ContDBGrid.DataSource.DataSet:=nil;//将前面原来连接着的栅格断开与数据集的连接
ADOQuery1.Close;
if SqlText='' then
begin //如果没传入的语句
ADOQuery1.SQL.Text:= DefaultSqlText; //用默认的语句查询
end
else
begin
ADOQuery1.SQL.Text:= SqlText;//用传入的sql语句进行查询
end;
showmessage(ADOQuery1.SQL.Text);
ADOQuery1.Open; //激活数据集(等效ADOQuery1.Active:=true;但语句更为简单)
if DBGrid.DataSource=nil then //如果栅格没数据源
DBGrid.DataSource:=TDataSource.Create(self);//动态建立一个
DBGrid.DataSource.DataSet:=ADOQuery1;//关联数据集
end;
procedure TForm1.Button9Click(Sender: TObject);
var
SQLstr:string;
begin
SQLstr:='Select Name,Aasss,IIF(Sex=1,''男'',''女'') as Sex ,Class,Dormitory,bed,Contact,Dtate from Dormitory where 1=1 ';
if (trim(Edit15.Text))<>'' then
begin
SQLstr:=SQLstr + ' and Name ='''+trim(Edit15.Text)+'''';
end;
if (trim(Edit16.Text))<>'' then
begin
SQLstr:=SQLstr + ' and Aasss ='''+trim(Edit16.Text)+'''';
end;
if (trim(Edit17.Text))<>'' then
begin
SQLstr:=SQLstr + ' and Class ='''+trim(Edit17.Text)+'''';
end;
if (trim(ComboBox2.Text))<>'' then
begin
SQLstr:=SQLstr + ' and Sex ='''+Sexc(ComboBox2)+'''';
end;
if (trim(Edit19.Text))<>'' then
begin
SQLstr:=SQLstr + ' and Dormitory ='''+trim(Edit19.Text)+'''';
end;
showmessage(SQLstr);
Form1.shuaixi(DBGridEh3,DBGridEh2,DBGridEh1,DBGridEh4,SQLstr);
end;
他们之间的传输数据没问题啊。我都看了。为什么会出现这个问题呢?
[解决办法]
他们之间的传输数据没问题啊。我都看了。为什么会出现这个问题呢?
------------------------
出什么问题了?