我用DBEdit 连接到一个query上,当我在录入一个字的时候query的状态就是insert了,我想捕捉这个事件,可是不知道到底用哪个事件!!

解决方案 »

  1.   

    什么意思?
    你如果没有先append或者insert,那么状态是edit而不是insert
      

  2.   

    我用DBEdit 连接到一个query上,当我在录入一个字的时候query的状态就是insert了,我想捕捉这个事件,可是不知道到底用哪个事件!!
    那你可以在DBEdit的onchange事件中写呀!
      

  3.   

    你用的是DBEdit, 你要先执行query.insert才会进入insert状态,否则只是edit!
    query.insert后
    会触发OnNewRecord. BeforeInsert, AfterInsert事件.
      

  4.   

    先搞insert事件,然后再调用query1.onnewrecord事件。
      

  5.   

    我在DBEdit里录入数据后保存,查看query的状态是insert,我并没有用query.insert,delphi自动帮我insert了,我想知道这个事件是什么??
      

  6.   

    往DBEdit里录入数据的时候,query会发生什么事件?
      

  7.   

    你的datasourse 的autoedit 设置为true
    你可以在datasourse 的onstatechange里面试试
      

  8.   


    OnNewRecord 没反应啊!!!
    难道只能通过DBEdit的onchange事件判断?
      

  9.   

    lllygang(阿Q) ok , thanks我在里面加一个状态判断就可以了
    if (Query1.State=dsInsert) then
      

  10.   

    delphi不可能帮你Insert,肯定是你自己没有找对地方。看你第一句话的意思八成是你在DataSource.dataset里面先调用了Insert然后在DBEdit中输入数据,然后使用Post的方式吧。如果DataSet调用了Insert,其他的状态统统都Insert了。我猜得,你可以查看一下。可以指定他的状态,楼上的有好办法。就说这么多了。
      

  11.   

    因为DBEdit绝对不可能直接连接到Query,应该要通过Datasource。如果你想输入新的值一定调用DataSource.DataSetDataSource调用DataSet得Insert实际上也就改变了Query得状态。
      

  12.   

    reallike(爱翔)
    我就是不懂,为什么DataSource调用了query的Insert,而query的insert事件却没有反应,但是query的状态的确是insert.(之前我并没有append,我只是把query给open了)中午就揭贴给分!