关于dbgrid添加 新字段的问题?(100分)

  • 主题发起人 主题发起人 雪莱
  • 开始时间 开始时间

雪莱

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:
小弟有个急手的问题:有两个表ado1,ado2,在ADO1表中有两个字段:ID;学号,并在dbgrid1显示
,在ADO2表中有一个字段:语文;今在dbgrid1添加一个新字段:语文;并使该字段显示ADO2中的字段
的内容.我使过多种方法,没有办法给语文字段添加内容.

请问各位高手有何解决方法?


 
说的什么呀!简直听不明白!
 
用连接
select ado1.id,ado1.学号,ado2.语文 from ado1,ado2 where ado1.id=ado2.id
 
(现有两个表:ado1,ado2,在ADO1表中有两个字段:ID;学号,并在dbgrid1显示
,而在ADO2表中有一个字段:语文;现在dbgrid1添加一个新字段:语文;并使该
字段显示ADO2中的字段(语文)的内容.问题是如何使在dbgrid1中新加的字段
(语文)的记录内容显示第二个表ADO2中(语文)字段的内容.
dbgrid1表:
___________________________
| ID | 学号 | 语文 |
___________________________
| 1 | 0001 | |
| 2 | 0002 | |
___________________________
请问各位高手有何解决方法?

 
在ado1增加一个字段‘语文’,将FieldKind属性设为fkLookup,并设置有关属性。
我还有一个比较高级的方法,可以自己控制这类字段的显示的值,这就要用sql,
如yaya8163所说。Delphi的DataSet、DBGrid标准组件只能实现比较简单的功能,比如
大型数据库如informix常用多个字段作为键值,要在DBGrid中实现主表可编辑、同时要显示
其它表的相关信息,就很难处理。刚接触Delphi时,很被这个问题困扰,现在我找到了一些
解决方法,如要深入探讨,可以继续。
 
将以下SQL语句Add一个TQuery控件中
select id,学号,语文 from ado1,ado2 where ado1.id=ado2.id
将DBgrid1的DateSet属性设为以该TQuery控件的DataSource控件
然后
DBGrid1.Columns[0].FieldName:='ID';
DBGrid1.Columns[1].FieldName:='学号';
DBGrid1.Columns[2].FieldName:='语文';
这样应该可以了
 
多人接受答案了。
 
后退
顶部