Идентификатор клиента: уникальный указанный идентификатор - PullRequest
0 голосов
/ 04 сентября 2011

Добрый день

Я работаю над небольшим проектом, который собирает сведения о клиентах, используя C Sharp в Visual Studio 2010 и базу данных SQL.

Теперь мне нужно сделать так, чтобы мой идентификатор клиента был сохранен следующим образом. Идентификатор должен состоять из одного алфавитного символа A, B, C, D или E, за которым следуют ТОЛЬКО ВОСЬМЯ цифровых цифр, эти цифры должны быть дополнены нули должны иметь ровно восемь цифр.

Пожалуйста, нужна помощь.

Ответы [ 2 ]

2 голосов
/ 04 сентября 2011

Вы можете сгенерировать свой идентификатор в коде C # или в базе данных, для этого есть методы на обоих языках.

Лично я бы сгенерировал его в SQL с помощью определенной пользователем функции, таким образом, вы знаете, что для каждой вставки она генерируется сервером, и, по моему мнению, вы имеете хороший контроль над ней, с другой стороны, делая поэтому вам нужно извлечь его из кода, чтобы связать значение с вашей сущностью (при необходимости).

В качестве последнего примечания, лично я бы не использовал это поле в качестве первичного ключа для таблицы, я все равно использовал бы идентификацию int (автоинкремент), сгенерированную сервером как PK (назовем это просто ID, например), и я бы добавьте УНИКАЛЬНЫЙ НЕКЛАСТЕРНЫЙ ИНДЕКС к этому столбцу CustomerID, о котором вы упомянули.

взгляните на заполнение начальных нулевых методов для SQL Server здесь: http://www.sqlusa.com/bestpractices2005/padleadingzeros/

1 голос
/ 04 сентября 2011

не уверен, что именно ваше требование, но надеюсь, что это поможет вам ..

        Random r1 = new Random();
        int num = r1.Next(0, 99999999); // generate random number
        string number = string.Format("{0:D8}", num);

        Random r2 = new Random();
        int num2 = r2.Next(0, 26); // generate random letter
        char letter = (char)('A' + num2);

        string id = letter + number; // join both as ID 

сгенерированный номер может быть не уникальным, при вставке новой записи вам может понадобиться проверить, существует ли сгенерированный ID или нет.

...