Как я могу дать конкретный идентификатор для конкретного элемента
Я пытаюсь создать фондовую программу. Я хотел создать определенный идентификатор для определенных элементов.
[Год]+[CATEGORYID]+[записанный номер товара по порядку] = id--> 2020001001 это будет идентификатор первого товара.
Допустим, я производю компьютеры, поэтому я говорю, что идентификатор компьютера равен 1. таким образом, первый компьютер, который я поставил, имеет идентификатор 2020-001-001, а второй-2020001002 и так далее.
Если я включу факс то это будет 2020002001 а второй будет 2020002002
Но как мне это провернуть?
Что я уже пробовал:
я пробовал писать такой код, но не знаю, куда идти дальше.
public void SatışNoAl() { try { string sdate = DateTime.Now.ToString("yyyy"); string transno; int count; cn.Open(); cm = new SqlCommand("select top 1 transno from productname where transno like @transno order by id desc", cn); cm.Parameters.AddWithValue("@transno", "%" + sdate + "%"); dr = cm.ExecuteReader(); dr.Read(); if (dr.HasRows) { transno = dr[0].ToString(); count = int.Parse(transno.Substring(8, 4)); lblRDM.Text = sdate + (count + 1); } else { transno = sdate + "1001"; lblRDM.Text = transno; } dr.Close(); cn.Close(); } catch (Exception ex) { cn.Close(); MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
Но это дает мне только значение 20201001
Gerry Schmitz
"Осмысленные" ключи обычно не приветствуются, поскольку меняются "стандарты", алгоритмы портятся и т. д. Лучше начать с идентификационного ключа (SQL db) или использовать что-то вроде GUID (например, new GUID()). Все остальные ваши значения будут использоваться для целей отчетности (сортировка, отчетность).