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)"/> <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代码,请在评论区告诉我,我会在那个时候发布。
对于您的需求,您必须在检查数据库中的现有值后从服务器端代码生成唯一的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生成的记录与每个用户希望它帮助其他人!!