我想做一个函数
自动生成n位的随机数(或字母)
并且不能和已经添加进数据库中的随机数(或字母)重复
比如说 随机生成一个编号后校验数据表中又没有这个编号,如果没有就在数据表中添加这个编号,如果又这个编号就继续循环直到这个数据表中没有有关这个编号的记录
请问哪位做过这类的功能请教教我吧
自动生成n位的随机数(或字母)
并且不能和已经添加进数据库中的随机数(或字母)重复
比如说 随机生成一个编号后校验数据表中又没有这个编号,如果没有就在数据表中添加这个编号,如果又这个编号就继续循环直到这个数据表中没有有关这个编号的记录
请问哪位做过这类的功能请教教我吧
解决方案 »
- 用delphi编写代码如果实现以下2个功能:1、如何判断一个ini文件的编码格式(ASNI、Unicode还是utf-8)?2、如果不是………
- 问个Pascal的基础问题
- 抓取ASP页面信息的超级难题:(在线等
- 跟潮流,散200祝大家新年愉快!狗年行狗运!
- 这条SQL语句能否这样写?
- datetimepicker 能为空吗??
- 说服老板免费送100M邮箱给所有网民,散分
- 用ADO 访问SQL SERVER 时,如何手动控制ADOconnection 的连接字符串?
- 关于 dbedit 的一点小问题
- 值得关心的话题-如何在Delphi中对Visio编程,有无较好的例子、参考资料?
- OpenDialog的简单问题?
- Delphi 2005 Architect正式版BT下载,要的进来顶!
Randm: integer;
begin
Randm := Random(99999); 生成小于99999的随机数;
with adoquery1 do
begin
close;
sql.clear;
sql.text := 'select * from tablename where fieldname = //查询一下,看是否有相同记录
Open;
if RecordCount > 0 then
Randm := Random(99999)
else
......................
end;
procedure TForm1.Button1Click(Sender: TObject);
var n,num:integer;
begin
n:=StrToInt(Edit1.Text);
num:=9;
while length(inttostr(num))<>n do
begin
num:=num*10+9;
end;
end;然后再用random(num)生成随机数并与已有的比较就可以了
begin
1.先生成n位的随机字符串a。//这个很简单吧 就8多说啦:)
2.然后:
if a 不在数据库中 then
begin
result:=a;
end
else
begin
result:=Ran;
end;
end;