我现在要实现的功能是:给一个字段自动分配一个3位的字符串,这个字符串是从A到Z排列组合,也就是从“AAA”到“ZZZ”,然后存到数据库中,每次分配的不能有与数据库中相同的字符串。如:
数据库中记录是:
1 AAA
2 AAB
3 AAD在这种时候按“添加”,这时我要自动分配一个AAC保存到数据库中。请问如何实现?最好能写出代码,谢谢先!!!!!!!

解决方案 »

  1.   

    这有什么超难的,写一个结构体,写好字符和数字的对应关系,入库的时候先得到数字,然后不就能找到相应的字符串了吗?
    也就是代码的量大一点,专门用一个unit来定义就可以了
      

  2.   

    很简单,算法循环,
    看看
    "那位大虾给我写个小算法,100分献上,不够在给!"的贴子中我的答案会明白的
    LENCON
      

  3.   

    顶,我不是那个意思,数据库里的数字是说第几条记录,是序号,不是要查相应的字符串,而是要自动生成的从“AAA”到“ZZZ”的一个3位字符串,而且还是数据库中没有的。在生成字符串的同时还要回数据库查看一下,是否已经有分配过这个字符串的记录。有就不能再分配了。现在意思明白吗?
      

  4.   

    http://community.csdn.net/Expert/topic/3635/3635535.xml?temp=.5016443我的问题里有个函数 可能你需要 还有其他朋友的点子 你一起看一下!
      

  5.   

    在新建FORM1中,设控件 LISTBOX1,BUTTON1
    在button1.click事件代码输入,如下:procedure TForm1.Button1Click(Sender: TObject);
    VAR
    X,Y,Z:INTEGER;
    S:STRING;
    begin
      FOR X:=65 TO 90 DO
      BEGIN
        FOR Y:=65 TO 90 DO
        BEGIN
          FOR Z:=65 TO 90 DO
          BEGIN
            S:=CHR(X)+CHR(Y)+CHR(Z);
            LISTBOX1.Items.Add(S);
          END;
        END;
      END;
    End;表的性质与LISTBOX一样,你可以在表中先查找运算得到的字符串S,如有则放弃,如没有则添加并终止运行.
    经试行,正确