我在SQl数据库中有若干条试题记录(分成若干类型)。请问如何随机的抽取每中类型的试题各5条,并将它们加入到richedit控件中。试题的字段类型为var char.请各位高手指点。分数不够我另加(我的分已不多了,呵呵)。
解决方案 »
- Delphi xe 服务器返回Dataset,中文全是乱码问题...急.
- 请教各位兄弟, fastreport中如何制作类似座位表的报表, 例如打印每行6名考生, 共有5行, 就是 6 * 5的座位表。
- ◆Oracle漏洞检测系统--DBScan◆
- 求‘报价单作业’的源程序,自己想参考一下,没做过这方面的东西!!!
- 一个关于面向对象的问题
- 高分求购财务做帐方面的控件
- 那位有 report machine 2.6 或 report machine3.0 !!
- 关于query组件的参数问题
- 在DBGrid里面对着某条记录点击右键是哪个事件呀?
- 請問在主從表新增過程中, 一旦從表存盤出錯,在Rollback后,再存盤,主表就不再insert了,這要如何解決.
- 请问各位大哥,为什么Api函数 CreateToolhelp32Snapshot() Process32Fist() Process32Next 不能用 ?是不是要引用什么单元的?
- 请问关于logo的问题
2﹑使用random(N)隨機取出(0----N)之間的一個數即為試題編號。
3﹑注意要去掉重復的編號
Tquery or Ttable?用那个属性和方法?
各位大哥说清楚点行吗?
procedure TForm3.Button1Click(Sender: TObject);
var
//count: array of integer;
m,n,i,j:integer;
begin
Label1.Caption:='正在抽题...';
for i:=1 to 10 do
begin
with query1 do
begin
query1.Close;
with query1.sql do
begin
query1.sql.Clear;
query1.sql.Add('select * from problem where tno=:no');
query1.ParamByName('no').AsString:=inttostr(i);
end;
query1.Open;
if not(query1.Eof) and not(query1.bof) then
begin
n:=query1.RecordCount;
for j:=1 to 5 do
begin
m:=Random(n);
with query1 do
begin
query1.Close;
with query1.SQL do
begin
sql.Clear;
sql.Add('select pcon,pan from problem where pno=:s');
query1.ParamByName('s').AsString:=inttostr(m);
end;
query1.Open;
richedit1.Text:=query1.Fields[6].AsString;
richedit2.Text:=query1.Fields[7].AsString;
end;
end;
end;
end;
end;
showmessage('ok!');
end;