:) DBGird中可不可以同时显示多个表中的字段?(100分)

  • 主题发起人 almeidar
  • 开始时间
A

almeidar

Unregistered / Unconfirmed
GUEST, unregistred user!
还有就是在Navigator中点击增加记录后,可不可以对新记录的某个字段设置初始值,
比如说累加的ID好,用Default可以吗?

thank you vvvvvvvvvvvvvvvvvvvery much!
 
在Table的BeforeInsert事件中写代码
 
当然可以,只要数据源中写代码就行
query1.sql.text:='select * from table1,table2 where table1.id=table2.id';
query1.active:=true;
 
1。可以用inforpower中的wwdbgrid实现;
2。可以在dataset的OnNewRecord事件中利用代码实现.
如果是固定值(不同数据库支持的类型不同),可以在数据库中使用默认值来实现
 
dbgrid中可以显示多个表中的字段,需要通过adoquery来进行联合。
 
Query1.Close;
Query1.SQL.Clear ;
Query1.SQL.Add('select a.Jjcd 紧急程度,b.Bwid 办文序号,c.Sssj 送审时间,' + ' from oadbo.bw_lwdjb a,oadbo.bw_bwdjb b,oadbo.bw_bwspb c'
+ ' where a.Lwid = b.Lwid and b.Bwdxh = c.Bwdxh');
Query1.Open;
 
使用ADODataSet作为DBGrid的数据源以后,可以插入、编辑记录吗?
也不能称为记录,是多个表的字段。
 
在QUERY.SQL中:???????
select tab1.field1,tab2.field1 from tab1,tab2 where tab1.id=tab2.id
最后OPEN一下????
 
可以啊,查查以前的帖子了
 
显示多个表用Query可以实现,赋初值可在数据库写代码或在程序中当OnNewRecord时指定
 
在Table的AfterInsert事件中

table1.FieldByName('ID').AsString := '20010506';
//产生ID可写一个函数
 
1。参照chlei
2。应该在query or tabele的
procedure TForm1.Query1BeforePost(DataSet: TDataSet);
begin
query1.FieldByName('ID').AsString := '20010506'
end;
 
显示多个表最简便的方法是用query,或adoquery访问数据,在sql语句中写(sql语法你应该
会吧)就可以了。
指定一个字段的初始值有好几中办法。1。在设计数据表的时候为字段指定default值,象你
所说的ID号,可以指定这个字段为自增长性字段(autoint等等)2。在Navigator的onclick
事件中判断button参数,if button=nbinsert then 指定你想要的字段值3。在dataset的
OnNewRecord事件中指定字段值,这方法实际和方法2是相同的
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部