C# 如何自动生成id

C# 如何自动生成id,c#,C#,我只需要自动生成像abc101,abc102,abc103,…abc10n的id 它应该存储在DB表中。而且它应该在运行时显示在任何文本框中 请给出一个适当的解决方案 提前特别感谢:) 问候 Pradeep Kodley您可以使用GUID: System.Guid guid = System.Guid.NewGuid (); String id = guid.ToString(); 如果每个ID都有相同的前缀,那么前缀就是浪费空间。只需使用一个自动递增的整数,并在报表和其他内容中添加前缀。您

我只需要自动生成像abc101,abc102,abc103,…abc10n的id 它应该存储在DB表中。而且它应该在运行时显示在任何文本框中

请给出一个适当的解决方案

提前特别感谢:)

问候

Pradeep Kodley

您可以使用GUID:

System.Guid  guid = System.Guid.NewGuid ();
String id = guid.ToString();

如果每个ID都有相同的前缀,那么前缀就是浪费空间。只需使用一个自动递增的整数,并在报表和其他内容中添加前缀。

您的数据库表可能有一个自动递增列。您能告诉use更多关于您的问题和您想做什么吗?

您可以通过在数据库中创建触发器来实现这一点,触发器将在插入任何记录之前运行

在触发器中,“abc”+(MAX(idColumn)+1)将获取下一个值


您还可以在c#中创建一个方法,该方法将获取最后一个id,递增并插入它

您的数据库可以为您生成顺序id

  • 在数据库中创建一个ID列(我猜您使用的是MS SQL,因为您只声明了C)

  • 在ID列上将
    标识列
    设置为true

  • 在ID列上将
    Autoincrement
    设置为true

  • ID列值将根据数据库中的现有项自动创建,您将获得序列1,2,3,。。你的学生证。此列也可以成为Students表的主键

    了解不同RDMBSE的自动增量列。

    试试这个:

    con.Open();
                string sqlQuery = "SELECT TOP 1 kode_user from USERADM order by kode_user desc";
                SqlCommand cmd = new SqlCommand(sqlQuery, con);
                SqlDataReader dr = cmd.ExecuteReader();
    
                while (dr.Read())
                {
                    string input = dr["kode_user"].ToString();
                    string angka = input.Substring(input.Length - Math.Min(3, input.Length));
                    int number = Convert.ToInt32(angka);
                    number += 1;
                    string str = number.ToString("D3");
    
                    txtKodeUser.Text = "USR" + str;
                }
                con.Close();
    

    不要问“给我发个代码”之类的问题。展示你到目前为止的情况,以及是什么导致了你的问题。请给出你的问题的背景。id必须是唯一的吗?这个id基于什么?有什么值得考虑的吗?它的目的是什么?我使用Asp.Net3.5与c#和SqlServer2005我只想自动生成学生唯一id。像abc101、abc102……通过它,我可以通过唯一的id识别每个学生……我必须对hostelStd_id(hostel student id)做同样的事情。您使用什么来访问数据库?林克?实体?尼伯酸盐?阿多?如果您计划使用此id作为查找学生的手段,最好在MSSQL数据库中使用一个标识字段作为主键。@Hun1Ahpu:这将生成唯一id,但不是op想要的,这是一个连续的唯一id。@KMan:他说该id必须是连续的。他对自己问题的评论表明,他对序列并不特别感兴趣,只对单一性感兴趣。@Gorpik:读第一行
    abc101,abc102,abc103,…。abc10n
    @KMan:我读过了。即使在本例中ID是连续的,OP也不再提及它。评论中要求他澄清,他只说他需要ID是唯一的。-1我不确定在存在其他解决方案时提倡触发器是个好主意。我知道有一个自动增量功能。但是他实际上希望在前面加上字符串“abc”。undo-1//尽管这样的代码可能应该来自业务层,那么如何自动生成id类型的字符串呢?