导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2003/8/7 17:54:46
标题:
加入我的收藏
楼主:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/7 21:33:34
1楼:
void setit() {int seti=0; Query1->First(); while (!Query1->Eof()) { seti++; Dbgrid1->Columns->Items[0]->FieldName=IntToStr(seti); Query1->Next(); } }
----------------------------------------------
作者:
2003/8/8 0:14:21
2楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/8 7:20:19
3楼:
没学过C++吗? 思路就是把表从头到尾循环一次,记录号刚好和记录个数一一对应,明白了吗? procedure setit; var seti:longint; begin seti:=0; Query1.First; while not Query1.Eof do begin inc(seti); Dbgrid1.Columns.Items[0].FieldName:=IntToStr(seti); Query1.Next; end; end;
----------------------------------------------
作者:
2003/8/8 23:30:06
4楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/9 6:16:04
5楼:
不好意思我忘记了Dbgrid1.Columns.Items[i]. 的索引是从哪一列开始(也就是I)
----------------------------------------------
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/9 8:56:54
6楼:
QUERY不好用要先保存其他列的数据,直接写会破坏原来的数据 所以还是用TABLE1最快,个人看法只能这样了,我也没办法了! var seti,i:longint; begin table1.Open ; table1.First ; seti:=0; while not table1.Eof do begin//1 inc(seti); table1.Edit ; table1.FieldByName('id1').AsString := inttostr(seti); table1.Post ; table1.Next ; end;//1 table1.Refresh ; end;
----------------------------------------------
作者:
2003/8/10 16:46:28
7楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/11 7:01:18
8楼:
好我在试试
----------------------------------------------
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/11 15:05:31
9楼:
如果原表没有记录号,好象SQL语句不会自动返回 记录号,如果你一定要用SQL 和QUERY那我也没办法,如果让我来做 :1要么原表预先留个记录号字段 2要么就用TABLE,stringGrid控件和WHILE循环配合 :procedure TForm1.Button2Click(Sender: TObject); var seti:longint; s:string; begin table1.Open ; table1.First ; seti:=0; sg1.RowCount :=2; sg1.ColCount :=4; sg1.FixedRows :=1; sg1.FixedCols :=1; while not table1.Eof do begin//1 s:=table1.fieldbyname('aihao').AsString ; if s='篮球' then begin//2 inc(seti); sg1.RowCount:=sg1.RowCount+1; sg1.Cells[1,seti]:=inttostr(table1.RecNo); sg1.Cells[2,seti]:=table1.fieldbyname('name').AsString; sg1.Cells[3,seti]:=table1.fieldbyname('aihao').AsString; end;//2 table1.Next ; end;//1 sg1.RowCount:=sg1.RowCount-1; table1.Refresh ; end;
----------------------------------------------
作者:
2003/8/11 16:30:18
10楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/12 9:04:36
11楼:
先问一下:? 1)select 分数,志愿 from 《你的表名》 where (这后面跟什么?) 2)必须要有一个顺序号(记录号):你要的是原表的记录号,还是选出以后 的临时表建个记录号?
----------------------------------------------
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/12 9:10:21
12楼:
1如果是“方便统计录取人数”我想应该是选出以后 的临时表建个记录号,这样一眼就看出的选出的个数 2 “按分数从高到低排出来”:难度就在这个上面,这个还是SELECT最快!
----------------------------------------------
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/12 9:12:13
13楼:
这个做起来还挺麻烦的,需要一个临时动态表TMP,查询看完后,在删除,用的时候 动态建立!
----------------------------------------------
作者:
2003/8/12 10:28:54
14楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/12 18:19:44
15楼:
研究中。。。。
----------------------------------------------
作者:
2003/8/12 23:44:16
16楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/13 7:59:36
17楼:
我想不出什么更快的办法了,只能这样了: procedure TForm1.Button3Click(Sender: TObject); var tmpq:Tquery; tmpt:TTable; s:string; seti:longint; begin tmpq:=Tquery.Create (nil); tmpq.DatabaseName :='e:'; tmpq.SQL.Clear ; s:='create table c2 ('+ 'zhunkaozheng varchar(255),'+ 'hname varchar(255),'+ 'zongfen varchar(255)'+')'; tmpq.SQL.Add(s); tmpq.ExecSQL ; tmpq.Open ; //--------------------------- tmpq.Close ; tmpq.SQL.Clear ; s:='insert into c2 (zhunkaozheng,'+ 'hname,'+ 'zongfen) select zhunkaozheng,'+ 'hname,zongfen from c1 where zongfen >"100" and '+ 'zhiyuan="fuzhi" order by zongfen'; tmpq.SQL.Add(s); tmpq.ExecSQL ; tmpq.Open ; //------------------------------ tmpt:=TTable.Create(nil); tmpt.DatabaseName :='e:'; tmpt.TableName :='c2.db'; tmpt.Open ; tmpt.First ; seti:=0; sg1.RowCount :=2; sg1.ColCount :=5; sg1.FixedRows :=1; sg1.FixedCols :=1; sg1.Cells [1,0]:='查询记录号'; sg1.Cells [2,0]:='准考证'; sg1.Cells [3,0]:='姓名'; sg1.Cells [4,0]:='总分'; while not tmpt.Eof do begin//1 inc(seti); sg1.RowCount:=sg1.RowCount+1; sg1.Cells[1,seti]:=inttostr(tmpt.RecNo); sg1.Cells[2,seti]:=tmpt.fieldbyname('zhunkaozheng').AsString; sg1.Cells[3,seti]:=tmpt.fieldbyname('hname').AsString; sg1.Cells[4,seti]:=tmpt.fieldbyname('zongfen').AsString; tmpt.Next ; end;//1 sg1.RowCount:=sg1.RowCount-1; tmpt.Refresh ; //------------------------------------------------------- tmpq.Close ; tmpq.SQL.Clear ; s:='drop table c2'; tmpq.SQL.Add(s); tmpq.ExecSQL ; tmpq.Open ; end;
----------------------------------------------
作者:
2003/8/13 11:06:02
18楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/13 17:37:05
19楼:
没事的,分数只是游戏,关键是学习
----------------------------------------------
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/8/13 17:37:43
20楼:
我的机子已经感染了“冲突波病毒”,所以出现那些痛苦 请大家注意“冲突波病毒”,昨天重装了6次WIN2000,快死了! 赶快到微软网站下载补丁包 请看瑞星杀毒首页:http://www.rising.com.cn/ 介绍“冲突波病毒”
----------------------------------------------
作者:
2003/8/14 11:07:17
21楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
我爱Delphi,我爱所有爱Delphi的朋友