高手请帮忙,我有一个dbgrid,是由两个表连接起来显示的(一对多的关系),我的两个表如下:
member表
id dept name native
1 人事部 张三 湖南
2 财务部 李四 贵州
3 客服部 王五 广西
4 人事部 李二 广东 dept表
id dept header
1 人事部 冯某某
2 财务部 李某某
3 客服部 王某某
我把两个表进行了连接,dbgrid的表格的显示如下:(我把dept里面的项给屏蔽了,因为不需要)
部门: 主管:
-----------------------------
id dept name native
1 人事部 张三 湖南
2 财务部 李四 贵州
3 客服部 王五 广西
4 人事部 李二 广东
-----------------------------
现在的情况是:
1、我想在点击dbgrid表格的每行时显示部门是什么?主管是什么?这个通过两个表连接就可以达到了。2、我已经做好了记录的多条选择,当我选择多条记录时,如何删除呢?我只想删除member表这些选择的记录? 当我用dbgrid1.selectedrows.delete进行删除,会把dept表里面相关的记录也删除掉。请高手们帮忙啊?兄弟在此谢谢了!
member表
id dept name native
1 人事部 张三 湖南
2 财务部 李四 贵州
3 客服部 王五 广西
4 人事部 李二 广东 dept表
id dept header
1 人事部 冯某某
2 财务部 李某某
3 客服部 王某某
我把两个表进行了连接,dbgrid的表格的显示如下:(我把dept里面的项给屏蔽了,因为不需要)
部门: 主管:
-----------------------------
id dept name native
1 人事部 张三 湖南
2 财务部 李四 贵州
3 客服部 王五 广西
4 人事部 李二 广东
-----------------------------
现在的情况是:
1、我想在点击dbgrid表格的每行时显示部门是什么?主管是什么?这个通过两个表连接就可以达到了。2、我已经做好了记录的多条选择,当我选择多条记录时,如何删除呢?我只想删除member表这些选择的记录? 当我用dbgrid1.selectedrows.delete进行删除,会把dept表里面相关的记录也删除掉。请高手们帮忙啊?兄弟在此谢谢了!
解决方案 »
- EXCEL按模版导出,需要将上一行的格式复制到下一行,请教
- 窗體指針釋放
- 散分!发布Delphi工程加花器 v1.0.1
- Delphi问题!
- 再探讨获取其他程序控件内容---特别由请"xxmmmx (踢踏)"
- FormKeyDown中为何响应不了F1,F2这些键?
- 怎样判断一个boolean的数组里面的值是否全部为真,全部为假?
- 誰把我的貼子刪除了而且還把我信譽分給扣了?怎麼回事?
- 大家幫忙看看,用delphi連接note庫,看看問題出在那裏。
- 急!!!在线等!!!关于导出表和安装程序的问题。答对了马上给300分!!!
- 关于DELPHI中ADO控件执行MYSQL问题
- 倒在Activex弹窗下的webbrowser!!!!!!!!!!!!!!!!
var
i:Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
s:=dbgrid1.DataSource.DataSet.Fields.Fields[0].AsString;
Listbox1.Items.Add(s);
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('delete * from member where id in(s)');
adoquery2.ExecSQL;
end;
end;
注:
1、我的fields[0]就是各行的id号,是主键,我先得到了多条记录的id号,然后根据id号去member表里面删除,但是不行。
2、Listbox1.Items.Add(s),这一句我用来显示一下看id号是不是对的。
感觉楼主的实现把问题复杂化了。
我一般的实现方式是,定义一个TSimpleDataSet,用来将member的数据全部读过来(不要用表连接,直接select * from member),然后,dept中的主管以lookup字段的形式添加到刚才的TSimpleDataSet控件中,这样,就可以按正常的方式对member表进行增删改操作了