Как сгенерировать непрерывный порядковый номер с префиксом в asp.net
Привет,
Я хочу сгенерировать 6-значный порядковый номер с префиксом PB...
Я нашел решение в проекте кода, но оно показывает ошибку...
public string serialId() { string Id = GenerateId("customer_details", "id", 6, "PB", true); return Id; } public string GenerateId(string TableName, string ColumnName, int ColumnLength, string Prefix, bool Padding) { string query, con, Id; con = "Data Source=.;Initial Catalog=login_;Integrated Security=True"; SqlConnection cn = new SqlConnection(con); int preLength, padLength; preLength = Convert.ToInt32(Prefix.Length); padLength = ColumnLength - preLength; if (Padding == true) { query = "SELECT'" + Prefix + "'+REPLACE(STR(MAX(CAST(SUBSTRING(" + ColumnName + "," + Convert.ToString(preLength + 1) + "," + padLength + ")AS INTEGER))+1 ," + padLength + "),'',0)FROM " + TableName; } else { query = "SELECT'" + Prefix + "'+CAST(MAX(CAST(SUBSTRING(" + ColumnName + "," + Convert.ToString(preLength + 1) + "," + padLength + ")AS INTEGER))+1 AS VARCHAR) FROM " + TableName; } SqlCommand com = new SqlCommand(query, cn); cn.Open(); if (com.ExecuteScalar().ToString() == "") { Id = Prefix; if (Padding == true) { for (int i = 1; i <= padLength - 1; i++) { Id += "0"; } } Id += "1"; } else { Id = Convert.ToString(com.ExecuteScalar()); } cn.Close(); return Id; }
В приведенном выше коде во время отладки он выдает исключение в приведенной выше жирной строке...
Исключение составляет "недопустимый идентификатор имени столбца"...
может ли кто-нибудь помочь мне в устранении этой проблемы?
С уважением,
Саджин А
Что я уже пробовал:
Я много раз пытался отлаживать и изменять код