最有效的方法...唯一的随机字符串

2024-01-09

我需要有效地将 5 个字符的随机字符串插入数据库,同时确保它是唯一的。生成随机字符串不是问题,但目前我正在做的是生成字符串,然后检查数据库是否已经存在......如果存在,我会重新开始。

有没有更有效的方法来完成这个过程?

请注意,我不想使用 GUID 或任何其他超过 5 个字符的内容......我必须坚持 5 个字符。

PS:我不认为这有什么区别,但我的字符串都是区分大小写的。

这是“随机字符串”部分

    Public Function GetRandomNumbers(ByVal numChars As Integer) As String
    Dim chars As String() = { _
     "A", "B", "C", "D", "E", "F", _
     "G", "H", "I", "J", "K", "L", _
     "M", "N", "O", "P", "Q", "R", _
     "S", "T", "U", "V", "W", "X", _
     "Y", "Z", "0", "1", "2", "3", _
     "4", "5", "6", "7", "8", "9", _
     "a", "b", "c", "d", "e", "f", _
     "g", "h", "i", "j", "k", "l", _
     "m", "n", "o", "p", "q", "r", _
     "s", "t", "u", "v", "w", "x", _
     "y", "z"}
    Dim rnd As New Random()
    Dim random As String = String.Empty
    Dim i As Integer = 0
    While i < numChars
        random += chars(rnd.[Next](0, 62))
        System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
    End While
    Return random
End Function

创建一个表,其中包含按顺序添加的大量 5 字符字符串(因此它们是唯一的),并以 GUID 作为主键。添加一列来指示它们是否被使用。

当您需要一个新号码时,您可以从池中选择前 1 个,按 guid 排序(因此它变成随机的),并将结果设置为“已用”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最有效的方法...唯一的随机字符串 的相关文章

  • 如果使用 jQuery 隐藏了 ASP:Button,我无法单击该按钮?

    我发现 StackOverFlow 答案和其他资源说您可以通过 jQuery 单击隐藏的 ASP Button click or trigger click 然而 这些都不适合我 除非按钮是 Visible true 这是按钮
  • 多选复选框下拉

    我正在使用多选复选框下拉菜单 请看例子jsfiddle http jsfiddle net manthan11 qqhczbvs 6 function lstStates multiselect 选择州后 它会显示 TEXT 值并用逗号连接
  • 两个日期范围之间相交的天数

    有人知道如何最好地计算两个日期范围之间相交的天数吗 这是我写的一个小方法来计算这个 private static int inclusiveDays DateTime s1 DateTime e1 DateTime s2 DateTime
  • Nhibernate:连接表并从其他表获取单列

    我有以下表格 create table Users Id uniqueidentifier primary key InfoId uniqueidentifier not null unique Password nvarchar 255
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 通过 SharpDX 渲染 Direct2D 图像时如何使用内存流而不是文件?

    设置 考虑使用给定的临时程序SharpDX http code google com p sharpdx Direct 库的托管包装器 用于渲染位图并将其保存为 PNG namespace ConsoleApplication5 using
  • 我可以根据多列删除数据库重复项吗?

    I 不久前问过这个问题 https stackoverflow com questions 4952250 how to delete duplicates from a database table based on a certain
  • 如何重命名 MySQL 数据库(更改架构名称)?

    如何快速重命名 MySQL 数据库 更改其架构名称 通常我只是转储数据库并使用新名称重新导入它 对于非常大的数据库来说 这不是一个选项 显然RENAME DATABASE SCHEMA db name TO new db name 做了坏事
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • 在 ASP.NET 中加密 cookie

    我想在 ASP NET 中加密 cookie 我已关注本文的方法 http www codeproject com KB web security HttpSecureCookie aspx 但它有一个缺点 那就是在内部方法上使用反射 这导
  • IIS7 上的 ASP.NET 应用程序 - iisreset 后启动速度非常慢

    我有一个在 Windows 2008 上的 IIS7 下运行的 ASP NET 3 5 网站 当我重新启动 IIS iisreset 然后点击一个页面时 初始启动非常慢 我在 Process Explorer 中看到以下活动 w3wp ex
  • 存储在 Session 中的变量在整个页面生命周期中是否反序列化一次或多次?

    我想以类似的方式包装会话变量在 CodeProject 上讨论 http www codeproject com KB aspnet wrapthosesessionvariables aspx msg 2315287 public sta
  • 如何在文件系统中存储图像

    目前 我已将图像 最大 6MB 作为 BLOB 存储在 InnoDB 表中 随着数据大小的增长 夜间备份变得越来越慢 阻碍了正常性能 因此 二进制数据需要进入文件系统 指向文件的指针将保存在数据库中 数据具有树状关系 main site u
  • ASP.Net 应用程序中的音频/视频/文本聊天

    我需要在 ASP Net 中开发一个聊天系统 我已经浏览了很多关于类似主题的问题 但没有找到任何一个令人满意的 是否可以从头开始创建它 或者我是否需要使用一些 API 我的要求仅限于我的网站用户 可以说基于内联网 请帮我 要进行文字聊天 人
  • 如何为动态创建的按钮创建 onClick 事件处理程序

    目前 我正在为学生宿舍做一个项目 现在我必须实现一些关于学生的搜索策略 这里 当用户单击 aspx 页面中的另一个服务器按钮时 我必须动态创建一个按钮 因此我必须创建新创建的按钮的 onclick 事件处理程序 我使用的代码片段是 prot
  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem

随机推荐

  • 获取 python for 循环中的第一个和最后一个项目

    是否有一种优雅且Pythonic的方法来捕获在生成器上迭代的for循环中的第一个和最后一个项目 from calendar import Calendar cal Calendar 6 month dates cal itermonthda
  • 带 apexcharts 的半圆环图

    I am trying to make half donut chart with multiple data as following picture using apexcharts 到目前为止我只发现Semi Circle Gauge
  • Raphael JS Pie:将 ID 添加到路径切片

    我在 Raphael Google Groups 上看到过这个问题 但是经过几个小时的搜索 以及这里和 Google 我似乎找不到解决方案 我只是希望能够使用 jQuery 定位我的饼图 svg 路径 切片 但我无法弄清楚如何将自定义 id
  • TFS 在更改映射时删除了我的文件

    I had这是一个相当大的解决方案 这里有很多代码 由于 TFS 存在一些问题 我想创建一个新的 干净 存储库 我删除了到旧存储库的映射 并尝试创建新映射 这导致了一个错误 即已经存在到我的解决方案的映射 我去了Source Control
  • AJAX 可以从远程服务器请求数据吗?

    我可以在 JavaScript 中使用 XMLHttpRequests 来请求与发出请求的服务器不同的服务器上的文件吗 谢谢 您需要使用一个名为的方法JSONP http remysharp com 2007 10 08 what is j
  • 如果满足条件则停止 Gulp 任务

    我试图做到这一点 因此如果未指定 theme 标志 它会停止 gulp 任务 并想知道以 DRY 方式执行此操作的最佳方法 我希望每个单独的任务在未指定 theme 的情况下停止 并且在不满足条件时也让默认任务停止 到目前为止我已经尝试了一
  • 消除 Visual Studio 解决方案文件夹中的临时文件

    我正在清理一堆来自不同来源的视觉工作室项目 解决方案 并且有数量惊人的临时文件 and 临时文件夹存储在每个溶液中 我想知道哪些文件类型可以安全删除 以便我可以编写一个脚本来处理繁重的工作 这样当我尝试组织整个文件夹结构并将其链接到正确的共
  • 使用 AVFoundation 捕获静态图像

    我目前正在创建一个简单的应用程序 它使用 AVFoundation 将视频流式传输到UIImageView 为了实现这一点 我创建了一个实例AVCaptureSession and an AVCaptureSessionPreset let
  • jQuery:仅在父链接上防止默认

    解决方案 找到了解决方案 使用的父节点 skaftetopmenu li gt a click function e e preventDefault var subid this parentNode attr id if subid f
  • ActiveRecord::Relation#bind 的目的是什么?

    只是出于好奇 我正在阅读的文档关系 查询方法模块 http apidock com rails v3 2 8 ActiveRecord QueryMethods bind并找到了该方法 def bind value relation clo
  • 具有 4 个视图控制器的页面视图控制器 - 如何将视图 2 设置为初始视图控制器?

    我创建了一个带有四个视图控制器的 pageViewController 现在的顺序是 VC1 VC2 VC3 VC4 var pageControl UIPageControl var pendingPage Int lazy var vi
  • 如何取消handler.postDelayed?

    如果我有怎么办handler postDelayed线程已经在执行中 我需要取消它吗 我这样做是为了取消 postDelays 根据 Android 删除回调 http developer android com reference and
  • d3.event.pageX & d3.mouse(this)[0]

    我试图找出 d3 event pageX 和 d3 mouse this 0 之间的区别 我猜两者是相同的 但是 当我 console log 两者时 我的代码中的值与 8 不同 var height 600 var width 600 v
  • 如果用户未使用电子邮件注册,Firebase 身份验证标识符会从 Facebook 登录存储什么值

    如果用户不是使用电子邮件注册而是使用电话号码注册 Firebase 身份验证标识符会从 Facebook 登录存储什么值 我的应用程序提供 facebook 登录 但现在当用户使用 Facebook 登录时 我的 firebase 身份验证
  • ionic框架同步数据并离线工作

    我正在使用 ionic 框架开发一个应用程序 它将从使用 laravel 构建的 API 中获取一些数据 将其保存在数据库中 以便当用户离线时他可以继续使用该应用程序 我对在互联网上找到了一个名为 pouchDB 的插件 是否推荐它满足我的
  • 如何在 Vim 中删除(所需文本)、删除(不需要的文本)和粘贴(所需文本)

    我不知道这是否是一个弱智问题 但这是一个有趣的困境 当我想删除我想放在其他地方的文本 但那个地方有其他一堆我不想要的文本时 我会删除该文本 但在此过程中我复制一个新的剪贴板 以便以前删除的文本消失 有什么建议来解决这个问题吗 一些可能的解决
  • Unity Visual Studio C#版本同步

    我刚刚开始在 Unity 游戏中使用委托和事件在适当的时候更新标签 而不是每帧更新标签 尽管大多数时候没有发生任何变化 为了确保静态事件调用 public static event OnSomething onSomething 实际上有听
  • 容器“gcr.io/google_containers/pause:0.8.0”中的进程做了什么工作?

    我已经清楚地了解了 docker 选项的用法 net container NAME or ID 我还阅读了kubernetes的源代码 了解如何配置容器使用网络InfraContainer 所以我认为唯一在容器中工作的过程gcr io go
  • 如何根据阈值改变字体颜色

    我有一个要求 比如如果阈值大于 6 则文本颜色应显示为红色 在 5 6 之间 文本颜色应更改为黄色 我在第一个要求 iif fields My column value gt 6 red Black 的文本框字体颜色属性中尝试了这个表达式
  • 最有效的方法...唯一的随机字符串

    我需要有效地将 5 个字符的随机字符串插入数据库 同时确保它是唯一的 生成随机字符串不是问题 但目前我正在做的是生成字符串 然后检查数据库是否已经存在 如果存在 我会重新开始 有没有更有效的方法来完成这个过程 请注意 我不想使用 GUID