要做一个表格样的东西给人输入,选择了DBgrid,现在界面是一个Edit主号,edit副号,还有两个Button,保存跟更新,现在要在对方输入了多少条后,根据不同的edit主号跟副号,点保存按钮后存到数据库里面去想把DBgrid的值取出来后,用sql代码插入,却怎么搞都不知道怎么把当前的输入值取出来,还有要循环插入就要判断输入了多少行,要怎么判断?多谢大侠!

解决方案 »

  1.   

    1.取值不在DBGrid里,而是在Data Access控件,比如TQuery, TTable, TADOQuery.....
    2.输入了多少行也一样,TQuery.Count
    3.DBGrid不太好用,建议尽快换一个好一点的,比如cxGrid,或TEhDBGrid之类的。
      

  2.   

    DBgrid通常都是直接连到数据库对表进行操作的。所以,如果连到了需要的表上,就不用再用SQL语句来插入了,直接就保存到表中了。
    如果相先输入,再用按钮来进行保存,就不必用DBgrid了,用StringGrid或是其他不连接数据库的控件。
      

  3.   

    就不能取当前DBGRid里手动所填的值?
      

  4.   

    主要是那两个Edit,我想在编辑完DBGRID的时候,跟两个edit的值存进去,如果直接在DBGRID操作,就要每行都输入这两个Edit的值,如果直接用query控件,DBGRID的值又不知道取
      

  5.   

    > 就不能取当前DBGRid里手动所填的值?
      

  6.   

    > 就不能取当前DBGRid里手动所填的值?显然你没明白,当前DBGrid里手动填的值,就在TQuery、TTable……这类控件上里
      

  7.   

    > 主要是那两个Edit,我想在编辑完DBGRID的时候,跟两个edit的值存进去,如果直接在DBGRID操作,就要每行都输入这两个Edit的值可以Post前再填入那两个Edit的值。
      

  8.   


    我知道在query控件上,DBGRID只是负责显示,主要还是QUERY,就是不知道怎么填那两个Edit的值啊,你在DBgrid改,数据库也会改,怎么让你改的那一行跟那两个edit对应存进去呢
      

  9.   

    > 你在DBgrid改,数据库也会改,怎么让你改的那一行跟那两个edit对应存进去呢在 Query 的 BeforePost 事件里设置那两个Fields的值。