У меня есть 2 таблицы;Как получить идентификатор пользователя из таблицы 1 и вставить этот идентификатор в таблицу 2
Person
>> Id (PK) (Идентичность = да), Имя пользователя, ....Barcode
>> Id (FK), штрих-код, ....
Я хочу чтобы получить идентификатор из таблицы 1 по сеансу (сеанс будет именем пользователя) и вставить этот идентификатор в таблицу 2. Например, если username==session
был истинным Идентификатором вставлен, если не выбрасывать исключение. Я хочу, чтобы идентификатор таблицы 1, вставленный в таблицу2, имел отношение к тому же имени пользователя, которое было в сеансе. найти ниже мою работу на данный момент;
public class Service1 : IService1
{
public string InsertUserDetails(UserDetails userInfo)
{
string Message;
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["BCSConnectionString"].ConnectionString;
con.Open();
bool exists = false;
using (SqlCommand cmd = new SqlCommand("select Id from [Person] where username = @session", con))
{
cmd.Parameters.AddWithValue("@session", userInfo.Session);
?????
}
if (exists)
Message = userInfo.Session + "The User Name has not been Registered...!";
else
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO Barcode (Id,Barcode,DateTime) values (@Id,@Barcode,@Datetime)", con))
{
cmd.Parameters.AddWithValue("Id", userInfo.Id);
cmd.Parameters.AddWithValue("Barcode", userInfo.Barcode);
cmd.Parameters.AddWithValue("Datetime", userInfo.Datetime);
cmd.Parameters.AddWithValue("Vehicle", userInfo.Vehicle);
cmd.ExecuteNonQuery();
Message = userInfo.Barcode + "All of data Registered ";
}
}
con.Close();
return Message;
}
}
спасибо за ваш комментарий, как я могу вставить тот же идентификатор (выбранный из таблицы 1) в таблицу 2 (штрих-код) по SqlCommand cmd? – aziz
@aziz Вам просто нужно передать это значение в качестве параметра в инструкции 'INSERT'. И вы уверены, что хотите вставить это значение в столбец 'Barcode'? Разве это не столбец 'Id'? –
спасибо, но когда я использую этот код cmd.Parameters.AddWithValue ("@ Id", id); Идентификатор имени не существует в текущем контексте – aziz