我做的代码是 with adoquery2 do begin adoquery2.close; adoquery2.SQL.Clear; adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu=dbcombobox1.text' ); ExecSQL; adoquery2.Connection:=adoconnection1; adoquery2.Active:=true; adoquery2.Open; end; } begin for i:=1 to (strtoint(dbedit1.Text)) do begin Repeat IsRepeat:=false; tihao[i]:=Random(ADOQuery2.RecordCount); for j:=1 to i-1 do begin if tihao[j]=tihao[i] then begin IsRepeat:=true; Break; end ; end; until IsRepeat=false; ADOQuery2.MoveBy(tihao[i]); memo1.Text:=memo1.Text+inttostr(i)+'、'+adoquery2.fieldbyname('timu').AsString+#13#10+adoquery2.fieldbyname('xa').AsString+#13#10+adoquery2.fieldbyname('xb').AsString+#13#10+adoquery2.fieldbyname('xc').AsString+#13#10+adoquery2.fieldbyname('xd').AsString+#13#10+#13#10+''; ADOQuery2.First; end; end;可是在第四行老出错,不知道该怎么把dbcombobox所选的科目加代SQL语句中
adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu=dbcombobox1.text' ); 改为:如果字段kemu是整型 adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu='+dbcombobox1.text ); 或:如果字段kemu是varchar adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu='+quotedstr(dbcombobox1.text) );
每次id:=random(题目总数);注意如果遇到取过的id,需要重新去取一个
在memo中输出:memo.lines.add(多行的题目);
我现在做的毕业设计快教了就差这个代码了,急呀!
用delphi+sql做的从选择题 题库中随机抽取制定数目的试题 用的是adoquery控件
并将试题输出到memo中
麻烦各位指教一下!
begin
adoquery2.close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu=dbcombobox1.text' );
ExecSQL;
adoquery2.Connection:=adoconnection1;
adoquery2.Active:=true;
adoquery2.Open;
end;
}
begin
for i:=1 to (strtoint(dbedit1.Text)) do
begin
Repeat
IsRepeat:=false;
tihao[i]:=Random(ADOQuery2.RecordCount);
for j:=1 to i-1 do
begin
if tihao[j]=tihao[i] then
begin
IsRepeat:=true;
Break;
end ;
end;
until
IsRepeat=false;
ADOQuery2.MoveBy(tihao[i]);
memo1.Text:=memo1.Text+inttostr(i)+'、'+adoquery2.fieldbyname('timu').AsString+#13#10+adoquery2.fieldbyname('xa').AsString+#13#10+adoquery2.fieldbyname('xb').AsString+#13#10+adoquery2.fieldbyname('xc').AsString+#13#10+adoquery2.fieldbyname('xd').AsString+#13#10+#13#10+'';
ADOQuery2.First;
end;
end;可是在第四行老出错,不知道该怎么把dbcombobox所选的科目加代SQL语句中
改为:如果字段kemu是整型
adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu='+dbcombobox1.text );
或:如果字段kemu是varchar
adoquery2.SQL.Add('USE shijuan select * from xuanzeti where kemu='+quotedstr(dbcombobox1.text) );