c# .net中用户的字母数字8位唯一id

本文关键字:数字 8位 唯一 id net 用户 | 更新日期: 2023-09-27 18:06:54

我想做的是,我已经创建了一个asp.net web应用程序,现在我使用XML来保存我的数据(我不使用SQL),我的下一个任务是生成一个唯一的8位数字字母数字Id为用户将被他们使用在未来跟踪那里的请求。
我已经得到了这个ID的特殊格式,所以我不能使用'GUID'。
给出的格式如下:

  • PR000000(PR代表Project)

  • NP000000(NP代表非项目)

因此,前两个字母将根据用户输入选择(如果是项目采购请求,则'PR',如果是非项目采购请求'NP'),其余6位数字是简单整数,将不断增加(000001,000002,000003....999999)。
我已经搜索了很多地方,但它的所有关于php,uniquecode,GUID等,但我只是想要一个简单的代码,执行上述任务很容易像IF-Else语句+不断增加计数(000001…000002..)


这是项目和非项目选择的代码:

PROJECT<input type="radio" name="portal" id="radio1" onclick="changeMe(this);"/>  <input       type="text" name="textprojectOff" id="text1" value="Project Name" onclick="changeMe(this);"/>
NON-PROJECT<input type="radio" id="radio2" name="portal" onclick="changeMe(this)"/> &nbsp; <input type="text" name="textnonprojectOff" id="text2" value="Department" onclick="changeMe(this);"/>
<script type="text/javascript"  >
 function changeMe(inField) 
{
    var fieldId = inField.id;
    var type = fieldId.substring(0, 4);
    if (type == 'text') {
        var name = fieldId.substring(4);
        var radioButton = document.getElementById("radio" + name);
        radioButton.checked = true;
    } else {
        var name = fieldId.substring(5);
        var textField = document.getElementById("text" + name);
        textField.focus();
        textField.value ='';
    }
}

如果有人需要我的xml代码,请在评论区告诉我,我会在那个时候发布。

c# .net中用户的字母数字8位唯一id

对于您的需求,您必须在检查数据库中的现有值后从服务器端代码生成唯一的id。

如果你愿意,你可以使用Oracle Sequence。在这种情况下不应该使用客户端生成,因为有一个变化,即多个用户可以获得相同的唯一id。所以这一代应该处理服务器端/数据库端

在这里我得到了我自己的问题的解决方案,所以,我想和大家分享一下,这样其他人就可以从中得到帮助。在不使用任何典型函数的情况下,我为每个用户生成了一个唯一的Id。
cs编程:

 protected void GetId()
    {
        MSXML2.DOMDocument objXML = new MSXML2.DOMDocument();
        string oPath = null;
        oPath = Server.MapPath("PARNId.xml");
        XmlDocument doc = new XmlDocument();
        if (objXML.load(oPath) == true)
        {
            objNextId = objXML.selectSingleNode("//Id").text;
        }
    }
    protected void SetId()
    {
        MSXML2.DOMDocument objXML = new MSXML2.DOMDocument();
        string oPath = null;
        oPath = Server.MapPath("PARNId.xml");
        XmlDocument doc = new XmlDocument();
        if (objXML.load(oPath) == true)
        {
            objXML.selectSingleNode("//Id").text = objNextId;
        }
        if (RadioButton2.Checked == true)
        {
            Label1.Text = "Your PURCHASE ACTION REQUEST NUMBER Is : PR" + objNextId;
        }
        else
        {
            Label1.Text = "Your PURCHASE ACTION REQUEST NUMBER Is :NP" + objNextId;
        }
        objXML.save(oPath);
    }  

调用两个函数

GetId();
        Label1.Text = objNextId;
        objNextId = Convert.ToString(Convert.ToInt32(objNextId) + 1);
        SetId()  

我创建了一个名为Track.xml的单独XML文件,在其中我分配了一个节点100000,这个值随着每个请求的增加而增加,最后我保存了label1。文本和这保持所有PARN生成的记录与每个用户希望它帮助其他人!!