Я хочу добавить данные в две таблицы за один раз.Вставить в две таблицы с одинаковым идентификатором пользователя одновременно
У меня есть две таблицы, UserCredentials (идентификатор пользователя, имя пользователя, пароль, UserRole) и EmployeeRecord (идентификатор пользователя, имя пользователя, Firstname, фамилия, desgination, национальности)
UserId является идентичность обеих таблиц, созданных в DB, я ищу способ, которым я могу получить userID в EmployeeRecord, в который вставлена запись, чтобы я мог вставлять учетные данные для входа в ту же userId в таблице UserCredentials. Обе записи необходимо вставлять одновременно.
Это то, что мой код выглядит как прямо сейчас:
create procedure enteremployeerecord (
@firstName varchar(100),
@lastName varchar(100),
@desigNation varchar(50),
@natioNality varchar(50),
@userName varchar(50),
@userPassword varchar(50),
@userRole varchar(50)
)
as
begin
insert into EmployeeRecord(username,firstname,lastname,designation,nationality)
values (@userName,@firstName,@lastName,@desigNation,@natioNality)
insert into UserCredentials(username,password,userrole)
values (@userName,@userPassword,@userRole)
А вот LINQ код SQL в C# (Не уверен, хотя, как она будет меняться в течение двух запросов)
EmployeeRecordDBClassDataContext con = new EmployeeRecordDBClassDataContext();
con.enteremployeerecord(firstNameTextBox.Text, lastTextBox.Text, desginationTextBox.Text,nationalityTextBox.Text,userNameTextBox.Text, passwordEmployeeTextBox.Text, userRoleTextBox.Text)
Я нахожусь используя VS 2012 & SQL Server 2012
Почему бы вам просто не создать 'Trigger' – MethodMan
Не ответ на ваш вопрос, но вы действительно не должны хранить пароли в виде простого текста. Вместо этого вам нужно использовать соленый хеш. –
Ваши таблицы также страдают от денормализации. У вас есть пользователь в таблице учетных данных. Это предотвращает использование пользователем более 1 роли. Также имя пользователя должно быть не более чем в 1 таблице. –