想了几天都没解决。
问题是这样的,做排班的时候,使用两listView ,一个listView1显示该班组里已有的员工号和员工姓名, 另一个listView2里显示剩下可选入该班组的员工号和姓名,问题一 :我想实现班组的员工修改,如把listView2里的员工号和员工姓名加到listView1里去,分单选和多选来实现。问题二 : 由于我初学,只知道用listView显示数据库里的数据,如何把一个listView里的信息循环读入数据库?也就是说我要把班组表的listView1里的数据:员工号和员工姓名重新写入数据库,如何实现这个。问题解决马上给分!

解决方案 »

  1.   

    现在不是OPEN和APPEN那么简单的,意思就是要对两个相同的LISTVIEW里的内容进行交换和修改,然后重新存入数据库中,,我知道这个问题对高手来说不是难题的。在线等。
      

  2.   

    不理解,为什么不先将listview2里被选中的记录添加到数据库中,再用listview1从数据库读出来啊?
      

  3.   

    把listview的checkbox选项选上
    这样你左右互选多少就可以通过一次遍历就可以了
    for i:=0 to listview1.items.cout-1 do 
     begin
       if listview1.items.item[i].checked then
         begin
           adoquery1.close;
           adoquery1.sql.text:='insert...........';
           每次这样就可以了,多选也是一个一个插入的
           怕重复的话可以每插入一条再重新来个删除这个数据重复的那个sql语句好像是distinct什么的 
         end;
     end;
      

  4.   

    前面我没有把问题说清楚,是这样的。
    班组表班组编号  :ZB0001listView1 :班组员工表              listVie2: 可添加的员工表
    -----------            -------------  
    工号     姓名               <<        工号     姓名               
    JG001    张三                <        JG003    xxx         
    JG002    李四                         JG004    YYYY
                                 >          .         .
                                >>          .         .
    ------------------------------------------------------------
    其实要实现的功能用LISTBOX就比较简单,但是我现在要用LISTVIE来做
    从数据库读出数据到LISTVIEW我知道,但是他们之间的修改和交换,然后
    重新读回数据库我就不知道怎么写了,大家帮帮忙了、
      

  5.   

    重新写入数据库不是很简单吗
    其实你这种模式最简单的办法就是在完成更改后最后一起更改数据库
    到时候你可以把listview1对应的表内数据删除,然后重写一遍,别看这样麻烦,但不会影响太多效率
    同样2也可以这样,所有更改都实现了
    我前边写的方法也可以
    如果你要是不会对数据库数据进行修改的话就当我这些白写了
    可以看些sql的书
      

  6.   

    数据库中建表如下:员工名称,员工号,正在当班标记,可以当班标记,无法当班标记,其他属性标记前3个标记互斥,在程序中修改标记的值或挑出属性满足要求的员工。在query中使用select或update
    把listview看成一个显示组件,再写个程序用于标记修改。
      

  7.   

    var
    NO,name:string;
    item: TLIstItem;
    begin
    no:=listview2.Selected.Caption;
    name:=listview2.Selected.SubItems.Text;
    listview2.Selected.Delete;
    item:=listview1.Items.Add;
    item.Caption :=no;
    item.SubItems.Text:=name;
    end;
    这个是从listview2中将指定记录移到1中的简单的例子,不知道你是不是想看这个
    至于整体的方法 楼上的几位说的都不错的。
      

  8.   

    谢谢各位的指点,我原来的想法也把原来数据库的数据先删了,然后在保存的时候在一起添加到数据库中,谢谢zhptj(北狼)我先按各位的方法试试,,