我现在在修改 以前同事写的程序 他里面用到了一个ADODATASET组件,我不知道  这个组件什么时候 与哪张表 关联起来的,都不知道他这个ADODATASET里面 有哪些字段,我想 看看  里面有哪些字段,用什么方法 能? 不管是调试的时候也好  还是其他什么的 都没有关系!只要能查看出这个Adodataset里面 有哪些字段  就可以了,请高手指点,如何实现!先谢了!

解决方案 »

  1.   

    双击该控件,在出的对话框弹中点右键选Add all fields 
    就可以了
      

  2.   

    To yinzhiw(不懂OOP) ( ) :"双击该控件,在出的对话框弹中" 这里面没有字段啊,“点右键选Add all fields ”之后,弹出“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server不存在或拒绝访问”! 这个问题怎么解决?
      

  3.   

    看看ADODATASET
    属性面板commandText的sql语句选择了那些字段
      

  4.   

    to qizhanfeng(glacier) :问题是  “属性面板commandText的sql语句”什么都没有写呀!
      

  5.   

    那就是他在程序中指定的commandtext
    再看看吧
      

  6.   

    commandtext是在程序中指定的吧
    adodataset1.open;   for i:=0 to adodataset1.fieldcount-1 do        memo1.Lines.add(adodataset1.fields[i].FieldName);memo1里面的就是字段名称
      

  7.   

    我实在是找不出 他哪里指定的 我把代码全部贴出来,大家帮我看看!分不够我 开贴 再加,只要能解决问题,代码如下:unit BaseBillEdit;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Buttons, ComCtrls, DBData, ExtCtrls, dxCntner,
      dxEditor, dxEdLib, dxDBELib, dxExEdtr, dxTL, dxDBCtrl, dxDBGrid, Mask,
      ImgList, Db, dxDBEdtr, ADODB, dxBar, Variants, BaseForm, EditForm,
      Menus, dxDBTLCl, dxGrClms;type
      TfrmBaseBillEdit = class(TfrmBaseForm)
        gridMain: TdxDBGrid;
        Panel1: TPanel;
        lblCaption: TLabel;
        dsMaster: TDataSource;
        dsList: TDataSource;
        pnlBillTop: TPanel;
        ADOSetMaster: TADODataSet;
        ADOSetList: TADODataSet;
        dxBarManager1: TdxBarManager;
        bbPrev: TdxBarButton;
        bbNext: TdxBarButton;
        bbIns: TdxBarButton;
        bbEdit: TdxBarButton;
        bbDel: TdxBarButton;
        bbSetup: TdxBarButton;
        bbPrint: TdxBarButton;
        PopupMenu1: TdxBarPopupMenu;
        pbbPrint: TdxBarButton;
        pbbPrintView: TdxBarButton;
        pbbPrintCustom: TdxBarButton;
        pbbPrintInit: TdxBarButton;
        bbOk: TBitBtn;
        bbExit: TBitBtn;
        GridPopMenu: TdxBarPopupMenu;
        bbCopy: TdxBarButton;
        bbInsertItem: TdxBarButton;
        bbDelItem: TdxBarButton;
        masterPopMenu: TdxBarPopupMenu;
        bbSaveAdd: TBitBtn;
        bbAddItemBatch: TdxBarButton;
        bbAuditing: TdxBarButton;
        procedure bbExitClick(Sender: TObject);
        procedure pbbPrintClick(Sender: TObject);
        procedure pbbPrintViewClick(Sender: TObject);
        procedure pbbPrintCustomClick(Sender: TObject);
        procedure pbbPrintInitClick(Sender: TObject);
        procedure bbPrintClick(Sender: TObject);
        procedure gridMainKeyDown(Sender: TObject; var Key: word;
          Shift: TShiftState);
        procedure FormKeyDown(Sender: TObject; var Key: word;
          Shift: TShiftState);
        procedure bbPrevClick(Sender: TObject);
        procedure bbNextClick(Sender: TObject);
        procedure bbInsClick(Sender: TObject);
        procedure bbDelClick(Sender: TObject);
        procedure bbEditClick(Sender: TObject);
        procedure gridMainMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: integer);
        procedure bbOkClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure FormShow(Sender: TObject);
        procedure bbInsertItemClick(Sender: TObject);
        procedure bbDelItemClick(Sender: TObject);
        procedure bbSaveAddClick(Sender: TObject);
        procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: integer);
        procedure gridMainEnter(Sender: TObject);
      private
          public
        bReturn: boolean;
        
          protected
        lID, lMode, lSelectMode, lOneRet: integer;
        sMasterTable, sDetailTable: string;
        bDrawFullGrid: boolean;
        procedure GridButtonClick(Sender: TObject; AbsoluteIndex: integer);
        procedure GridSelectPrice(Sender: TObject; AbsoluteIndex: integer);
        procedure SaveGirdWidth;
        procedure SetDrawGridSummary(dxGrid: TdxDBGrid);
        procedure GridDrawSummaryFooter(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; var AText: string; var AAlignment: TAlignment; AFont: TFont;
          var AColor: TColor; var ADone: boolean);
      end;implementationuses SysPublic;{$R *.DFM}procedure TfrmBaseBillEdit.GridButtonClick(Sender: TObject; AbsoluteIndex: integer);
    var
      sSql, sSelect, sPeiCi, sWareID, sUnitItem, sUnit2: string;
      lOrder: integer;
      ADOSet: TADODataSet;
    begin  sSelect := BaseSelect(BASE_WARE_SELECT, 1, gridMain.EditingText,0, lSelectMode, lOneRet
    );
      sWareID := GetCommaStr(sSelect, 1);
        if StrToInt2(sWareID) = 0 then
      begin
        gridMain.CancelEditor;
        gridMain.Repaint;
        gridMain.ShowEditor;
        Exit;
      end;
      if (ADOSetList.State <> dsEdit) and (ADOSetList.State <> dsInsert) then
        ADOSetList.Edit;
      ADOSetList.FieldByName('WareID').AsInteger := StrToInt2(sWareID);
      if ADOSetList.FindField('CounterID')<>nil then
        ADOSetList.FieldByName('CounterID').AsString := GetCommaStr(sSelect, 2);
      if ADOSetList.FindField('CounterCode')<>nil then
        ADOSetList.FieldByName('CounterCode').AsString := GetCommaStr(sSelect, 3);
      if ADOSetList.FindField('Counter')<>nil then
        ADOSetList.FieldByName('Counter').AsString := GetCommaStr(sSelect, 4);
      if (lMode=EXIST_CHECK_LIST) and (ADOSetList.FindField('OLDNUMBER')<>nil) then
         ADOSetList.FieldByName('OLDNUMBER').AsString := GetCommaStr(sSelect, 5)
      else
        ADOSetList.FieldByName('NUMBER').AsString := GetCommaStr(sSelect, 5);  ADOSet := TADODataSet.Create(nil);
      sSql:='SELECT * FROM V_WARESELECT WHERE ID='+sWareID;
      if OpenDataSet(ADOSet, sSql) and (not ADOSet.IsEmpty) then
      begin
        ADOSetList.FieldByName('WareCode').AsString :=ADOSet.FieldByName('UserCode').AsString
    ;
        ADOSetList.FieldByName('WareName').AsString :=ADOSet.FieldByName('Name').AsString;
        if ADOSetList.FindField('SORT')<>nil then
          ADOSetList.FieldByName('SORT').AsString :=ADOSet.FieldByName('SORT').AsString;
        if ADOSetList.FindField('eusercode')<>nil then
          ADOSetList.FieldByName('eusercode').AsString :=ADOSet.FieldByName('eusercode').
    AsString;
        if ADOSetList.FindField('TYPES')<>nil then
          ADOSetList.FieldByName('TYPES').AsString :=ADOSet.FieldByName('TYPES').AsString;
        if ADOSetList.FindField('SPEC')<>nil then
          ADOSetList.FieldByName('SPEC').AsString :=ADOSet.FieldByName('SPEC').AsString;
        if ADOSetList.FindField('CALCNAME')<>nil then
          ADOSetList.FieldByName('CALCNAME').AsString :=ADOSet.FieldByName('CALCNAME').
    AsString;
        if ADOSetList.FindField('EUSER')<>nil then
          ADOSetList.FieldByName('EUSER').AsString :=ADOSet.FieldByName('EUSER').AsString;
        if ADOSetList.FindField('EMPORIUM')<>nil then
          ADOSetList.FieldByName('EMPORIUM').AsString :=ADOSet.FieldByName('EMPORIUM').
    AsString;
        if ADOSetList.FindField('EMPORIUMCODE')<>nil then
          ADOSetList.FieldByName('EMPORIUMCODE').AsString :=ADOSet.FieldByName('EMPORIUMCODE'
    ).AsString;    gridMain.ColumnByFieldName('WareUnit').ReadOnly := True;
        gridMain.ColumnByFieldName('WareUnit').Color := clInfoBk;    if ADOSetList.FieldByName('Price').Value = NULL then
        begin
          if (lMode > STOCK_EDIT_BEGIN) and (lMode < STOCK_EDIT_END) then
            ADOSetList.FieldByName('Price').AsString :=ADOSet.FieldByName('Pos_purch').
    AsString
          else if (lMode > SALE_EDIT_BEGIN) and (lMode < SALE_EDIT_END) then
            ADOSetList.FieldByName('Price').AsString :=ADOSet.FieldByName('Pos_Price').
    AsString;
        end;
      end;    if lSelectMode = 1 then
      begin
                  sSql := 
    'SELECT Sum(Total)/(case Sum(Number) when 0 then 1 else Sum(Number) end) as ConstPrice FROM  WareStock WS WHERE WS.WareID='
     + sWareID;
                                    ADOSetList.FieldByName('ConstPrice').AsString :=
          SqlToFieldValue(sSql, 'ConstPrice');
        if (ADOSetList.FieldByName('Price').Value = NULL) and (lMode>=EXIST_EDIT_BEGIN) and (
    lMode<=EXIST_EDIT_END) then
        begin
          ADOSetList.FieldByName('Price').AsString :=ADOSetList.FieldByName('ConstPrice').
    AsString;
        end;
      end;  if gridMain.FocusedColumn < gridMain.ColumnCount - 1 then
        gridMain.FocusedColumn := gridMain.FocusedColumn + 1;
    end;
      

  8.   

    procedure TfrmBaseBillEdit.GridSelectPrice(Sender: TObject; AbsoluteIndex: integer);
    var
      sP1, sP2, sSql, s0, s1, s2, s3, s4: string;
      lWareID, lIndex: integer;
      ADOSetTmp: TADODataSet;
      tsList: TStrings;
      sPrice: string;
    begin
      sP1 := '';
      sP2 := '';
      tsList := TStringList.Create;
      lWareID := ADOSetList.FieldByName('WareID').AsInteger;
      if lWareID <= 0 then Exit;
      sSql := 'Select * From Ware WHERE ID=' + IntToStr(lWareID);  ADOSetTmp := TADODataSet.Create(nil);
      ADOSetTmp.LockType := ltReadOnly;
      OpenDataSet(ADOSetTmp, sSql);  if not ADOSetTmp.IsEmpty then
      begin
        s0 := Trim(ADOSetTmp.FieldByName('Pos_Price').AsString);
        s1 := Trim(ADOSetTmp.FieldByName('Price1').AsString);
        s2 := Trim(ADOSetTmp.FieldByName('Price2').AsString);
        s3 := Trim(ADOSetTmp.FieldByName('Price3').AsString);
        s4 := Trim(ADOSetTmp.FieldByName('Price4').AsString);
      end;
      sP1 := '参考售价 :' + s0 + #13 + '预设售价1:' + s1 + #13 +
        '预设售价2:' + s2 + #13 +
        '预设售价3:' + s3 + #13 + '预设售价4:' + s4;
      sP2 := s0 + #13 + s1 + #13 + s2 + #13 + s3 + #13 + s4;
      tsList.Text := sP2;
      if ADOSetTmp.Active then
        ADOSetTmp.Close;
      ADOSetTmp.Free;
      lIndex := GetListBox('选择商品预设售价', sP1, 0, 'LISTBOX');
      if (lIndex >= 0) and (lIndex <= tsList.Count) then
      begin
        sPrice := tsList.Strings[lIndex];
      end;
      if sPrice <> '' then
      begin
        if (ADOSetList.State <> dsInsert) and (ADOSetList.State <> dsEdit) then
          ADOSetList.Edit;
        ADOSetList.FieldByName('Price').AsString := sPrice;
      end 
      else
      begin
        gridMain.CancelEditor;
        gridMain.Repaint;
        gridMain.ShowEditor;
      end;
    end;procedure TfrmBaseBillEdit.SaveGirdWidth;
    var
      lCol: integer;
      sSql: string;
      ADOSetTmp: TADODataSet;
    begin
      ADOSetTmp := nil;
      lCol := 0;
      sSql := 'SELECT * FROM BillSetup WHERE MODE=' + IntToStr(lMode) + ' ORDER BY UserID';  ADOSetTmp := TADODataSet.Create(nil);
      OpenDataSet(ADOSetTmp, sSql);
      if not ADOSetTmp.IsEmpty then
        while not ADOSetTmp.EOF do
        begin
          ADOSetTmp.Edit;
          ADOSetTmp.FieldByName('Width').AsInteger := gridMain.Columns[lCol].Width;
          ADOSetTmp.Post;
          ADOSetTmp.Next;
          inc(lCol);
        end;
      ADOSetTmp.Close;
      ADOSetTmp.Free;
    end;procedure TfrmBaseBillEdit.bbExitClick(Sender: TObject);
    begin
      inherited;
      Close;
    end;procedure TfrmBaseBillEdit.pbbPrintClick(Sender: TObject);
    begin
      inherited;
      PrintForm(Self, 1, PRINT_REPORT, sPrintFile);
    end;procedure TfrmBaseBillEdit.pbbPrintViewClick(Sender: TObject);
    begin
      inherited;
      PrintForm(Self, 1, SHOW_REPORT, sPrintFile);
    end;procedure TfrmBaseBillEdit.pbbPrintCustomClick(Sender: TObject);
    begin
      inherited;
      PrintForm(Self, 1, DESIGN_REPORT, sPrintFile);
    end;procedure TfrmBaseBillEdit.pbbPrintInitClick(Sender: TObject);
    begin
      inherited;
      PrintForm(Self, 1, INITI_REPORT, sPrintFile);
    end;procedure TfrmBaseBillEdit.bbPrintClick(Sender: TObject);
    begin
      inherited;
      PrintForm(Self, 1, SHOW_REPORT, sPrintFile);
    end;procedure TfrmBaseBillEdit.gridMainKeyDown(Sender: TObject; var Key: word;
      Shift: TShiftState);
    begin
      inherited;
      case KEY of
        VK_RETURN:
          with gridMain do
            if FocusedColumn < VisibleColumnCount - 1 then
              FocusedColumn := FocusedColumn + 1
          else if FocusedColumn = VisibleColumnCount - 1 then
          begin
            FocusedColumn := 0;
            if isEof or (DataLink.DataSet.RecNo = DataLink.DataSet.RecordCount) then
              DataLink.DataSet.Append
            else
              DataLink.DataSet.Next;
            gridMain.ShowEditor;
          end;
      end;
    end;procedure TfrmBaseBillEdit.FormKeyDown(Sender: TObject; var Key: word;
      Shift: TShiftState);
    begin
      inherited;
      case KEY of
        VK_RETURN:
        begin
          if GetFocusedComponent(self) is TdxInplaceEdit then
            Perform(WM_NEXTDLGCTL, 0, 0);
        end;
        VK_ESCAPE: Close;
      end;
    end;procedure TfrmBaseBillEdit.SetDrawGridSummary(dxGrid: TdxDBGrid);
    var
      i: integer;
    begin
      if edgoLoadAllRecords in dxGrid.OptionsDB then Exit;  for i := 0 to dxGrid.ColumnCount - 1 do
      begin
        if dxGrid.Columns[i].SummaryFooterType <> cstNone then
          dxGrid.Columns[i].OnDrawSummaryFooter := GridDrawSummaryFooter;
      end;
    end;procedure TfrmBaseBillEdit.GridDrawSummaryFooter(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect; var AText: string; var AAlignment: TAlignment;
      AFont: TFont;
      var AColor: TColor; var ADone: boolean);
    begin
      inherited;
      if not (edgoLoadAllRecords in TdxDBGrid(TdxDBTreeListColumn(Sender).ATreeList).
    OptionsDB) then
      begin
        if (uppercase(TdxDBTreeListColumn(Sender).FieldName) = 'TOTAL') and
          (ADOSetMaster.FieldByName('total').Value <> null) then
        begin
          AText := floattostr(ADOSetMaster.FieldByName('total').AsFloat);
        end
        else
          AText := CalcColumnSummary(TdxDBTreeListColumn(Sender));
        TdxDBTreeListColumn(Sender).SummaryFooterFormat := AText;
          end;
    end;procedure TfrmBaseBillEdit.bbPrevClick(Sender: TObject);
    begin
      inherited;
      if ADOSetMaster.State = dsInsert then
        ADOSetMaster.Cancel;
      if ADOSetList.State = dsInsert then
        ADOSetList.Cancel;
      ADOSetMaster.Prior;
      lID := ADOSetMaster.FieldByName('ID').AsInteger;
    end;procedure TfrmBaseBillEdit.bbNextClick(Sender: TObject);
    begin
      inherited;
      if ADOSetMaster.State = dsInsert then
        ADOSetMaster.Cancel;
      if ADOSetList.State = dsInsert then
        ADOSetList.Cancel;
      ADOSetMaster.Next;
      lID := ADOSetMaster.FieldByName('ID').AsInteger;
    end;procedure TfrmBaseBillEdit.bbInsClick(Sender: TObject);
    begin
      inherited;
        bbSaveAdd.Click;
    end;procedure TfrmBaseBillEdit.bbDelClick(Sender: TObject);
    var
      sSQL: string;
      i: integer;
    begin
      inherited;
      if (not ADOSetMaster.IsEmpty) and (MsgBox('数据删除后不可恢复,确认要删除?',
        '提示', [mbOK,mbCancel]) = mrOk) then
      begin
        i := ADOSetMaster.FieldByName('ID').AsInteger;
        gridMain.DataLink.DataSet.DisableControls;
        gridMain.DataLink.DataSet.First;
        while not gridMain.DataLink.DataSet.EOF do
          gridMain.DataLink.DataSet.Delete;
        gridMain.DataLink.DataSet.EnableControls;
        ADOSetMaster.Delete;
        sSQL := 'DELETE FROM ' + sDetailTable + ' WHERE INDEXID=' + IntToStr(i);
        ExecSQL(sSQL);    sSQL := 'DELETE FROM ' + sMasterTable + ' WHERE ID=' + IntToStr(i);
        ExecSQL(sSQL);
      end;
      end;procedure TfrmBaseBillEdit.bbEditClick(Sender: TObject);
    begin
      inherited;
      gridMain.DataLink.DataSet.Edit;
    end;
      

  9.   


    procedure TfrmBaseBillEdit.gridMainMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: integer);
    var
      P: TPoint;
    begin
      inherited;
      GetCursorPos(P);
      if Button = mbRight then GridPopMenu.Popup(P.X, P.Y)
      else if (Button = mbLeft) and (gridMain.GetHitTestInfoAt(X, Y) = htNowhere) then
        bbInsertItem.Click;
    end;procedure TfrmBaseBillEdit.bbOkClick(Sender: TObject);
    begin
      inherited;
      bReturn := True;
    end;procedure TfrmBaseBillEdit.FormCreate(Sender: TObject);
    begin
      inherited;
      bReturn := False;
      bDrawFullGrid := StrToBool2(GetIniValue(frmData.ADOConnet, 'DrawFullGrid'));
    end;procedure TfrmBaseBillEdit.FormClose(Sender: TObject;
      var Action: TCloseAction);
    var
      strBillCode,strSQL:String;begin
      inherited;
      if ADOSetMaster.Active and (ADOSetMaster.RecordCount>0) then
        strBillCode:=ADOSetMaster.FieldByName('usercode').AsString;  if ADOSetMaster.State = dsInsert then
        ADOSetMaster.Cancel;
      if ADOSetList.State = dsInsert then
        ADOSetList.Cancel;
      if (not bReturn) and (lID = 0) and (ADOSetList.RecordCount > 0) then
        if (MsgBox('你没有保存数据,确定要退出吗?', '提示', [mbOK,mbCancel]) <> mrOk) then
        begin
          Action := caNone;
        end
        else
        begin
          if (TRIM(strBillCode)<>'') and (lMode=STOCK_FORMAL_EDIT) then
          begin
            strSQL:='DELETE FROM WARE WHERE ISIN=3 AND IMPORTBILLCODE='''+strBillCode+'''';
            ExecSQL(strSQL);
          end;
        end;
    end;procedure TfrmBaseBillEdit.FormShow(Sender: TObject);
    begin
      inherited;
      //Application.MessageBox('FormShow','information');
      SetPanelFocused(self, pnlBillTop);
    end;procedure TfrmBaseBillEdit.bbInsertItemClick(Sender: TObject);
    begin
      inherited;
      gridMain.DataLink.DataSet.Append;
    end;procedure TfrmBaseBillEdit.bbDelItemClick(Sender: TObject);
    var
      sSQL: string;
    begin
      inherited;
      if (not gridMain.DataLink.DataSet.IsEmpty) and
        (MsgBox('数据删除后不可恢复,确认要删除?', '提示', [mbOK,mbCancel]) = mrOk) then
      begin
        sSQL := 'DELETE FROM ' + sDetailTable + ' WHERE INDEXID=' +
          IntToStr(ADOSetMaster.FieldByName('ID').AsInteger) + ' AND ID=' +
          IntToStr(gridMain.DataLink.DataSet.FieldByName('ID').AsInteger);
        ExecSQL(sSQL);
        gridMain.DataLink.DataSet.Delete;
      end;
    end;procedure TfrmBaseBillEdit.bbSaveAddClick(Sender: TObject);
    begin
      inherited;
      bReturn := True;
    end;procedure TfrmBaseBillEdit.FormMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: integer);
    var
      P: TPoint;
    begin
      inherited;
      GetCursorPos(P);
      if Button = mbRight then masterPopMenu.Popup(P.X, P.Y);
    end;procedure TfrmBaseBillEdit.gridMainEnter(Sender: TObject);
    begin
      inherited;
      with Screen.Imes do
      begin
        if IndexOf(HDLoginInfoRec.IMEName)>=0 then
                ActivateKeyboardLayout(HKL(Objects[IndexOf(HDLoginInfoRec.IMEName)]), 
    KLF_ACTIVATE);
      end;
    end;end.
      

  10.   

    procedure TfrmBaseBillEdit.GridButtonClick(Sender: TObject; AbsoluteIndex: integer);
    var
      sSql, sSelect, sPeiCi, sWareID, sUnitItem, sUnit2: string;
      lOrder: integer;
      ADOSet: TADODataSet;
    begin  sSelect := BaseSelect(BASE_WARE_SELECT, 1, gridMain.EditingText,0, lSelectMode, lOneRet
    );
      sWareID := GetCommaStr(sSelect, 1);
        if StrToInt2(sWareID) = 0 then
      begin
        gridMain.CancelEditor;
        gridMain.Repaint;
        gridMain.ShowEditor;
        Exit;
      end;放一个memo在form上,后面加上
    ADOSetList.open;   for i:=0 to ADOSetList.fieldcount-1 do        memo1.Lines.add(ADOSetList.fields[i].FieldName);
    其他的数据集合同
      

  11.   

    其中 我要查看的是ADOSetList组件的数据库字段!
      

  12.   

    yinzhiw(不懂OOP) ( ): 在哪里啊?我怎么没发现  能否指出来?
      

  13.   

    drift1981(一包香烟,一把吉他,浪迹天涯!) :你的方法确实可以实现,但是 为什么会是这些字段呢? 在程序什么地方 把这些字段与ADOSetList关联在一起呢?
      

  14.   

    你控件上ADODataSet 怎么命名的
      

  15.   

    你可以在整个工程中查找
    ADOSetList.commandtext 或只找commandtext
      

  16.   

    xhh_88(三友) :我查找了 N 次了 没有 类似这样的代码呀 ADOSetList.commandtext !你看看 代码我都贴了  谢谢了!
      

  17.   

    yinzhiw(不懂OOP) ( ) :“你控件上ADODataSet 怎么命名的”     -》是ADOSetList 呀 在FORM上 有对应的 ADODataSet 组件  其中name属性为 ADOSetList!
      

  18.   

    xhh_88(三友) ( )  : 先感谢你的帮助;但是我整个工程都找过了 ,没有啊 ! 而且 他这个ADOSetList是在这个单元中 从组件箱中 拖下来放在FORM上的,其他单元 上怎么会有类似ADOSetList.commandtext的代码呢,就算有 也是要先执行这个单元 ,再执行带有ADOSetList.commandtext代码的单元,而现在 的问题是 在这个单元里ADOSetList中已经有了好多字段了,就是说从组件箱中 拖了一个ADODATASET下来,命名为ADOSetList,现在的问题是ADOSETLIST什么时候开始有字段的!在“对象指示器”(就是那个按F11后弹出来的属性/事件上面的commandtext上面根本就没有一个字母),而所有的代码我都帖了!再帮忙看看  谢了!
      

  19.   

    yinzhiw(不懂OOP) ( ) 信誉:我这个系统确实是个进销存系统,但不是 胜龙进销存,你帮我看看 问题到底出在哪里? 他这个ADOSetList是在这个单元中 从组件箱中 拖下来放在FORM上的,其他单元 上怎么会有类似ADOSetList.commandtext的代码呢,就算有 也是要先执行这个单元 ,再执行带有ADOSetList.commandtext代码的单元,而现在 的问题是 在这个单元里ADOSetList中已经有了好多字段了,就是说从组件箱中 拖了一个ADODATASET下来,命名为ADOSetList,现在的问题是ADOSETLIST什么时候开始有字段的!在“对象指示器”(就是那个按F11后弹出来的属性/事件上面的commandtext上面根本就没有一个字母),而所有的代码我都帖了!再帮忙看看  谢了!
      

  20.   

    在整个工程里找 OpenDataSet 可能会有
    他通过OpenDataSet 函数给 ADODataSet 赋 sql语句
      

  21.   

    inherited
    这个窗体是从其他窗体继承下来的所以父窗体的东东都在这上面
     父窗体上一定有与ADOSetList类似的数据集
    找找看
      

  22.   

    你说在IDE环境下,ADOSetList没有被初始化,另外在该单元也没有找到初始化它的代码
    那它肯定在其他单元被初始化过了.在其他单元可以用frmBaseBillEdit.ADOSetList的方式
    调用该控件的.查找方法:
    你在代码编辑框中按Ctrl+F,再在查找对话框中选find in files
      

  23.   

    最大不了,你用资源管理器查找,条件是包含文字commandtext的单元文件.
      

  24.   

    inherited
    窗体的继承
    这个窗体是从其他窗体继承下来,那么父窗体的东东都继承下来了
    父窗体里应该有类似ADOSetList的数据集
      

  25.   

    这个问题 有点头绪了,请大家看看这个 http://community.csdn.net/Expert/topic/3374/3374723.xml?temp=7.128543E-02
    这里是我刚才仔细查看相关代码后发现的东西!