procedure Tinputdataform.FirstClick(Sender: TObject);
begin
  DM.Qu_basic.first;
  with  DM.Qu_basic do
    begin
      e_ID.text:=Fieldbyname('no').asstring ;
      e_ddh.text:=Fieldbyname('ddh').asstring ;
      e_wxh.text:=Fieldbyname('wxh').asstring;
      e_dh.text:=Fieldbyname('dh').asstring;
      d_tbrq.DateTime:=Fieldbyname('tbrq').asDateTime;
    end;
end;
调试过程中出现拉问题,我该怎么解决,错误信息:
Debugger Exception Notification;
        
     Project  Mis.exe  raised exception class EAccessViolation with message 'Access violation  at  address  004E81F0  in module 'Mis.exe'.Read of address 00000064'.Process  stopped . Use Step or Run  to continue .
  

解决方案 »

  1.   

    可能是时间字段的问题,把它format一下
      

  2.   

    DM.Qu_basic.first;
    这里就调不下去拉!
      

  3.   

    DM.Qu_basic.first;
    这里就调不下去拉!
    ----------------------
    可能问题不在这里.你把整个unit贴出来
    另外 Fieldbyname('no').asstring 的 'no' 尽量不要用no等数据库的关键字,
      

  4.   

    我認為可能是你的No字段有問題.你把它定義成別的試一試.如number_no.
    如fieldbyname('number_no').asstring.
      

  5.   

    unit inputdata;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls, ToolWin, ImgList, Grids, DBGrids, DB,
      DBTables;type
      Tinputdataform = class(TForm)
        GroupBox1: TGroupBox;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        Label6: TLabel;
        Label7: TLabel;
        Label8: TLabel;
        Label9: TLabel;
        Label10: TLabel;
        Label1: TLabel;
        Label11: TLabel;
        Label12: TLabel;
        Label13: TLabel;
        Label14: TLabel;
        Label15: TLabel;
        Label16: TLabel;
        Label17: TLabel;
        Label18: TLabel;
        Label19: TLabel;
        Label20: TLabel;
        Label21: TLabel;
        Label22: TLabel;
        Label23: TLabel;
        Label24: TLabel;
        Label25: TLabel;
        Label26: TLabel;
        Label27: TLabel;
        Label28: TLabel;
        Label29: TLabel;
        Label30: TLabel;
        Label31: TLabel;
        Label32: TLabel;
        Label33: TLabel;
        Label34: TLabel;
        E_ddh: TEdit;
        E_wxh: TEdit;
        E_dh: TEdit;
        E_sl: TEdit;
        E_mc: TEdit;
        E_msgs: TEdit;
        E_jbr: TEdit;
        E_jhsl: TEdit;
        E_al: TEdit;
        E_kz: TEdit;
        E_lkg: TEdit;
        E_lkk: TEdit;
        D_jhrq: TDateTimePicker;
        E_lkhl: TEdit;
        E_wszrc: TEdit;
        E_wsql: TEdit;
        E_wdzrc: TEdit;
        E_wdql: TEdit;
        C_yl: TComboBox;
        C_xh: TComboBox;
        C_ds: TComboBox;
        C_ft: TComboBox;
        E_zjy: TEdit;
        E_czs: TEdit;
        E_scs: TEdit;
        Label35: TLabel;
        Label37: TLabel;
        ToolBar1: TToolBar;
        Prior: TToolButton;
        ImageList1: TImageList;
        Next: TToolButton;
        First: TToolButton;
        Last: TToolButton;
        Append: TToolButton;
        Edit: TToolButton;
        Delete: TToolButton;
        Label38: TLabel;
        GroupBox2: TGroupBox;
        Label39: TLabel;
        Label40: TLabel;
        Label41: TLabel;
        Label42: TLabel;
        Label49: TLabel;
        E_dj: TEdit;
        E_pb: TEdit;
        E_sl1: TEdit;
        c_hx: TComboBox;
        ToolBar2: TToolBar;
        Append1: TToolButton;
        Edit1: TToolButton;
        Delete1: TToolButton;
        c_ds1: TComboBox;
        DBGrid1: TDBGrid;
        DBGrid2: TDBGrid;
        Label43: TLabel;
        Label44: TLabel;
        Label45: TLabel;
        d_tbrq: TDateTimePicker;
        Label46: TLabel;
        Label47: TLabel;
        E_wtc: TEdit;
        Label48: TLabel;
        Label51: TLabel;
        Label52: TLabel;
        E_wdk: TEdit;
        Label53: TLabel;
        E_wtk: TEdit;
        E_wdc: TEdit;
        Label50: TLabel;
        Label54: TLabel;
        E_cpl: TEdit;
        Label36: TLabel;
        E_ID: TEdit;
        procedure PriorClick(Sender: TObject);
        procedure NextClick(Sender: TObject);
        procedure FirstClick(Sender: TObject);
        procedure LastClick(Sender: TObject);
        procedure AppendClick(Sender: TObject);
        procedure DBGrid1CellClick(Column: TColumn);
        procedure DeleteClick(Sender: TObject);
        procedure EditClick(Sender: TObject);    procedure DBGrid1DblClick(Sender: TObject);
        procedure Append1Click(Sender: TObject);
        procedure Delete1Click(Sender: TObject);
        procedure FormShow(Sender: TObject);
        procedure DBGrid2CellClick(Column: TColumn);
        procedure Edit1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      inputdataform: Tinputdataform;
      

  6.   

    implementationuses datamodul;{$R *.dfm}procedure Tinputdataform.PriorClick(Sender: TObject);
    begin
      if not DM.Qu_basic.Bof  then
         begin
         DM.Qu_basic.Prior;
         end;
      with  DM.Qu_basic do
        begin
          e_ID.text:=Fieldbyname('no').asstring ;
          e_ddh.text:=Fieldbyname('ddh').asstring ;
          e_wxh.text:=Fieldbyname('wxh').asstring;
          e_dh.text:=Fieldbyname('dh').asstring;
          d_tbrq.DateTime:=Fieldbyname('tbrq').asDateTime;
          e_sl.text:=Fieldbyname('sl').asstring;
          e_mc.text:=Fieldbyname('mc').asstring;
          c_xh.text:=Fieldbyname('xh').asstring;
          d_jhrq.DateTime:=Fieldbyname('jhrq').asDateTime;      e_jhsl.text:=Fieldbyname('jhsl').asstring;
          e_cpl.text:=Fieldbyname('cpl').asstring;
          c_yl.text:=Fieldbyname('yl').asstring;
          c_ft.text:=Fieldbyname('ft').asstring;
          e_kz.text:=Fieldbyname('kz').asstring;      e_msgs.text:=Fieldbyname('msgs').asstring;
          c_ds.text:=Fieldbyname('ds').asstring;
          e_al.text:=Fieldbyname('al').asstring;
          e_lkg.text:=Fieldbyname('lkg').asstring;
          e_lkk.text:=Fieldbyname('lkk').asstring;
          e_lkhl.text:=Fieldbyname('lkhl').asstring;      e_wszrc.text:=Fieldbyname('wszrc').asstring;
          e_wsql.text:=Fieldbyname('wsql').asstring;
          e_wdk.text:=Fieldbyname('wdk').asstring;
          e_wdc.text:=Fieldbyname('wdc').asstring;
          e_wdzrc.text:=Fieldbyname('wdzrc').asstring;
          e_wdql.text:=Fieldbyname('wdql').asstring;
          e_wtc.text:=Fieldbyname('wtc').asstring;
          e_wtk.text:=Fieldbyname('wtk').asstring;      e_jbr.text:=Fieldbyname('jbr').asstring;
          e_zjy.text:=Fieldbyname('zjy').asstring;
          e_czs.text:=Fieldbyname('czs').asstring;
          e_scs.text:=Fieldbyname('scs').asstring;
       end;      DM.Qu_pd.close;
          DM.Qu_pd.sql.clear;
          DM.Qu_pd.sql.add('select * from table_prod_data where ddh=:t1 and wxh=:t2');
          DM.Qu_pd.parameters.paramvalues['tl']:=dbgrid1.fields[0].asstring;
          DM.Qu_pd.parameters.paramvalues['t2']:=dbgrid1.fields[1].asstring;
          DM.Qu_pd.open;
    end;procedure Tinputdataform.NextClick(Sender: TObject);
    begin
      if not DM.Qu_basic.Eof  then
         begin
           DM.Qu_basic.next;
         end;
      with  DM.Qu_basic do
        begin
          e_ID.text:=Fieldbyname('no').asstring ;
          e_ddh.text:=Fieldbyname('ddh').asstring ;
          e_wxh.text:=Fieldbyname('wxh').asstring;
          e_dh.text:=Fieldbyname('dh').asstring;
          d_tbrq.DateTime:=Fieldbyname('tbrq').asDateTime;
          e_sl.text:=Fieldbyname('sl').asstring;
          e_mc.text:=Fieldbyname('mc').asstring;
          c_xh.text:=Fieldbyname('xh').asstring;
          d_jhrq.DateTime:=Fieldbyname('jhrq').asDateTime;      e_jhsl.text:=Fieldbyname('jhsl').asstring;
          e_cpl.text:=Fieldbyname('cpl').asstring;
          c_yl.text:=Fieldbyname('yl').asstring;
          c_ft.text:=Fieldbyname('ft').asstring;
          e_kz.text:=Fieldbyname('kz').asstring;      e_msgs.text:=Fieldbyname('msgs').asstring;
          c_ds.text:=Fieldbyname('ds').asstring;
          e_al.text:=Fieldbyname('al').asstring;
          e_lkg.text:=Fieldbyname('lkg').asstring;
          e_lkk.text:=Fieldbyname('lkk').asstring;
          e_lkhl.text:=Fieldbyname('lkhl').asstring;      e_wszrc.text:=Fieldbyname('wszrc').asstring;
          e_wsql.text:=Fieldbyname('wsql').asstring;
          e_wdk.text:=Fieldbyname('wdk').asstring;
          e_wdc.text:=Fieldbyname('wdc').asstring;
          e_wdzrc.text:=Fieldbyname('wdzrc').asstring;
          e_wdql.text:=Fieldbyname('wdql').asstring;
          e_wtc.text:=Fieldbyname('wtc').asstring;
          e_wtk.text:=Fieldbyname('wtk').asstring;      e_jbr.text:=Fieldbyname('jbr').asstring;
          e_zjy.text:=Fieldbyname('zjy').asstring;
          e_czs.text:=Fieldbyname('czs').asstring;
          e_scs.text:=Fieldbyname('scs').asstring;
       end;
      with  DM.Qu_pd  do
        begin
          close;
          sql.clear;
          sql.add('select * from table_prod_data where ddh=:t1 and wxh=:t2');
          parameters.paramvalues['tl']:=dbgrid1.fields[0].asstring;
          parameters .paramvalues['t2']:=dbgrid1.fields[1].asstring;
          open;
        end;
    end;
      

  7.   

    procedure Tinputdataform.FirstClick(Sender: TObject);
    begin
      DM.Qu_basic.first;
      with  DM.Qu_basic do
        begin
          e_ID.text:=Fieldbyname('no').asstring ;
          e_ddh.text:=Fieldbyname('ddh').asstring ;
          e_wxh.text:=Fieldbyname('wxh').asstring;
          e_dh.text:=Fieldbyname('dh').asstring;
          d_tbrq.DateTime:=Fieldbyname('tbrq').asDateTime;
          e_sl.text:=Fieldbyname('sl').asstring;
          e_mc.text:=Fieldbyname('mc').asstring;
          c_xh.text:=Fieldbyname('xh').asstring;
          d_jhrq.DateTime:=Fieldbyname('jhrq').asDateTime;      e_jhsl.text:=Fieldbyname('jhsl').asstring;
          e_cpl.text:=Fieldbyname('cpl').asstring;
          c_yl.text:=Fieldbyname('yl').asstring;
          c_ft.text:=Fieldbyname('ft').asstring;
          e_kz.text:=Fieldbyname('kz').asstring;      e_msgs.text:=Fieldbyname('msgs').asstring;
          c_ds.text:=Fieldbyname('ds').asstring;
          e_al.text:=Fieldbyname('al').asstring;
          e_lkg.text:=Fieldbyname('lkg').asstring;
          e_lkk.text:=Fieldbyname('lkk').asstring;
          e_lkhl.text:=Fieldbyname('lkhl').asstring;      e_wszrc.text:=Fieldbyname('wszrc').asstring;
          e_wsql.text:=Fieldbyname('wsql').asstring;
          e_wdk.text:=Fieldbyname('wdk').asstring;
          e_wdc.text:=Fieldbyname('wdc').asstring;
          e_wdzrc.text:=Fieldbyname('wdzrc').asstring;
          e_wdql.text:=Fieldbyname('wdql').asstring;
          e_wtc.text:=Fieldbyname('wtc').asstring;
          e_wtk.text:=Fieldbyname('wtk').asstring;      e_jbr.text:=Fieldbyname('jbr').asstring;
          e_zjy.text:=Fieldbyname('zjy').asstring;
          e_czs.text:=Fieldbyname('czs').asstring;
          e_scs.text:=Fieldbyname('scs').asstring;
        end;
      with  DM.Qu_pd  do
        begin
          close;
          sql.clear;
          sql.add('select * from table_prod_data where ddh=:t1 and wxh=:t2');
          parameters.paramvalues['tl']:=dbgrid1.fields[0].asstring;
          parameters.paramvalues['t2']:=dbgrid1.fields[1].asstring;
          open;
        end;
    end;procedure Tinputdataform.LastClick(Sender: TObject);
    begin
         DM.Qu_basic.Last;
      with  DM.Qu_basic do
         begin
         e_ID.text:=Fieldbyname('no').asstring ;
         e_ddh.text:=Fieldbyname('ddh').asstring ;
         e_wxh.text:=Fieldbyname('wxh').asstring;
         e_dh.text:=Fieldbyname('dh').asstring;
         d_tbrq.DateTime:=Fieldbyname('tbrq').asDateTime;
         e_sl.text:=Fieldbyname('sl').asstring;
         e_mc.text:=Fieldbyname('mc').asstring;
         c_xh.text:=Fieldbyname('xh').asstring;
         d_jhrq.DateTime:=Fieldbyname('jhrq').asDateTime;     e_jhsl.text:=Fieldbyname('jhsl').asstring;
         e_cpl.text:=Fieldbyname('cpl').asstring;
         c_yl.text:=Fieldbyname('yl').asstring;
         c_ft.text:=Fieldbyname('ft').asstring;
         e_kz.text:=Fieldbyname('kz').asstring;     e_msgs.text:=Fieldbyname('msgs').asstring;
         c_ds.text:=Fieldbyname('ds').asstring;
         e_al.text:=Fieldbyname('al').asstring;
         e_lkg.text:=Fieldbyname('lkg').asstring;
         e_lkk.text:=Fieldbyname('lkk').asstring;
         e_lkhl.text:=Fieldbyname('lkhl').asstring;     e_wszrc.text:=Fieldbyname('wszrc').asstring;
         e_wsql.text:=Fieldbyname('wsql').asstring;
         e_wdk.text:=Fieldbyname('wdk').asstring;
         e_wdc.text:=Fieldbyname('wdc').asstring;
         e_wdzrc.text:=Fieldbyname('wdzrc').asstring;
         e_wdql.text:=Fieldbyname('wdql').asstring;
         e_wtc.text:=Fieldbyname('wtc').asstring;
         e_wtk.text:=Fieldbyname('wtk').asstring;     e_jbr.text:=Fieldbyname('jbr').asstring;
         e_zjy.text:=Fieldbyname('zjy').asstring;
         e_czs.text:=Fieldbyname('czs').asstring;
         e_scs.text:=Fieldbyname('scs').asstring;
      end;
      with  DM.Qu_pd  do
        begin
          close;
          sql.clear;
          sql.add('select * from table_prod_data where ddh=:t1 and wxh=:t2');
          parameters.paramvalues['tl']:=dbgrid1.fields[0].asstring;
          parameters.paramvalues['t2']:=dbgrid1.fields[1].asstring;
          open;
        end;
    end;
      

  8.   

    很多人说DELPHI的ADO有BUG,我也不知道是不是这个问题引起,下载补丁试试吧
      

  9.   

    头大,这么多怎么看呀,
    你那个Qu_Basic是什么控件阿
    不能first的原因可能有一个你的记录集选定的是不是
    只向前的改一改属性,改成动态的
    是不是用错了方法
      

  10.   

    Qu_Basic是ADOQUERY,不好意思我刚才去吃早餐啦!呵呵
      

  11.   

    Qu_Basic《-是不是根本未open?
    调试过程中出现拉问题,<-发生在什么时间或事件中?
      

  12.   

    Project  Mis.exe  raised exception class EAccessViolation with message 'Access violation  at  address  004E81F0  in module 'Mis.exe'.Read of address 00000064'.Process  stopped . Use Step or Run  to continue .
    没时间看你的程序,单从这段文字,可能是你的数据模块,在那个时候没有create,不能调用其中的对象
      

  13.   

    如果没create,那么priorclick,nextclick也会出错,
    priorclick,nextclick不出错就表示已经create
      

  14.   

    我想是樓上几位兄弟所說的問題﹐你遷中Delphi的Project-》Option菜單﹐在Forms遷項頁中看到一個 Auto Create Forms 在中間加入數據模塊窗口即在系統開啟時數據模塊也創建了﹐不然﹐你就在主窗口打開時寫語句建立﹕
    DataModel:=TDataModel.Create(Self);