首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi 数据提供程序或其余服务返回

2013-03-17 
Delphi 数据提供程序或其他服务返回procedure TForm1.shuaixi(DBGrid: TDBGridEh PrevDBGrid: TDBGridEh

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;


他们之间的传输数据没问题啊。我都看了。为什么会出现这个问题呢?
[解决办法]
他们之间的传输数据没问题啊。我都看了。为什么会出现这个问题呢?
------------------------
出什么问题了?

热点排行