要求生成一个9位数的卡号,和6位数的密码,存入数据库要求卡号不可以重复界面已经写好了
1、现在在随机生成卡号上有点郁闷rand()是不是只能生成0~32767的
那我的9位数和6位数密码怎么生成啊2、对于数据库中是否有重复我是打算把生成的随机数通过对数据库查询来判断有没有重复。。
不知道大家有没有更好的方法

解决方案 »

  1.   

    你可以调用两次rand 然后将结果相乘 这样随机数的范围就是0~32767×32767
      

  2.   

    生成一个随机数进行一次查询按照 AntonlioX(做人要厚道) 他说的
    好像效率是低了点
      

  3.   

    CWinThread *t=AfxBeginThread(Insert,czdlg,THREAD_PRIORITY_NORMAL);
    生成我是用线程,主程序和线程之间的通信,我是用全局变量的,这个可以吗?
    然后我把对话框指针也传了进去,这样可以吗?
    程序是没问题还有一个问题希望大家帮忙
    我要存储长字符串,用什么类好,大概有个几万长度吧,我也不清楚我说的算不算长???
      

  4.   

    rand 可以取的最大值是0x7fff见msdn:
    The constant RAND_MAX is the maximum value that can be returned by the rand function. RAND_MAX is defined as the value 0x7fff.所以两次的rand结果相乘范围是0 到 1073676289  满足你的要求啊
      

  5.   

    CWinThread *t=AfxBeginThread(Insert,czdlg,THREAD_PRIORITY_NORMAL);
    生成我是用线程,主程序和线程之间的通信,我是用全局变量的,这个可以吗?
    然后我把对话框指针也传了进去,这样可以吗?
    程序是没问题还有一个问题希望大家帮忙
    我要存储长字符串,用什么类好,大概有个几万长度吧,我也不清楚我说的算不算长???这个问题能帮助我一下吗