消息关闭
    暂无新消息!
在做学生选课管理的课程设计
ListView1中用鼠标选中了一行
然后程序中将选中的一行删除
求程序~~~
同时还要将access中的数据也删掉~
procedure TForm10.Button2Click(Sender: TObject);    //(就是这里不会,要删除选中项同时把调用的数据库里的一项也删掉)
begin
???????????????
end;
procedure TForm10.Button4Click(Sender: TObject);         //(这里是根据‘’课程编号‘‘这一项筛选删除那一行,同时删除access数据库中的信息)
begin
????????????
end;
End.
求大神~~~

6个回答

︿ 2
 var
  i : integer;
begin
  for i := ListView1.Items.Count -1 downto 0 do
    if ListView1.Items[i].Selected then
      with DataModule9.ADOQuery1 do
        begin
           SQL.Clear;
           SQL.Add('delete * from 学生选课 where 学号=:学号');
           Parameters.ParamByName('学号').Value := ListView1.Items[i].Caption;
           ExecSQL;
           ListView1.Items.Delete(i);
           application.MessageBox('信息删除成功!','提示',mb_ok);
        end;
end;

这是通过“课程编号“筛选信息并删除的的程序,但是没有用
求修改
︿ 0
这样修改:试试看


procedure TForm1.Button2Click(Sender: TObject);
var i    : integer;
    sSQL : string;
begin
  for i := ListView1.Items.Count -1 downto 0 do
  if ListView1.Items[i].Selected then
  begin
    with ADOQuery1 do
    begin
      sSQL:='delete from 学生选课 where (学号 ='+#39+ListView1.Items.Item[i].Caption+#39+')';
      SQL.Clear;
      SQL.Add(sSQL);
      ExecSQL;
      ListView1.Items.Item[i].Delete;
//    showmessage('列表数据删除成功!');
    end;
  end;
end;

︿ 0
 var
  i : integer;
begin
  for i := ListView1.Items.Count -1 downto 0 do
    if ListView1.Items[i].Selected then
      begin
      with DataModule9.ADOQuery1 do
        begin
          SQL.Clear;
          SQL.Add( 'delete from 学生选课 where (学号 = " ‘ + ListView1.Items.Item[i].Caption +'")');
          ExecSQL;
          ListView1.Items.Item[i].Delete;
          showmessage('列表数据删除成功!');
        end;
        break;
      end;
end;