У меня есть метод GetUser для вызова процедуры sql и возврата пары полей. Мне нужно иметь sh значения, но в тестировании это работает. Вот метод:
(правка: «The_User» - это публикуемый c экземпляр моего класса User, установленного вне метода. Это то, чем я закончил, пытаясь получить Person_ID перейти к моему методу SaveRecord. Я открыт для этого по-другому / лучше)
public ActionResult GetUser(Models.User model)
{
User x = new User();
x.User_Name = model.User_Name;
x.Password = model.Password;
using (var conn = new SqlConnection("connection stuff"))
using (var com = new SqlCommand("GetUser", conn)
{ CommandType = CommandType.StoredProcedure })
{
com.Parameters.AddWithValue("@User_Name", x.User_Name);
com.Parameters.AddWithValue("@Password", x.Password);
conn.Open();
using (var reader = com.ExecuteReader())
{
while (reader.Read())
{
The_User.User_Name = reader["User_Name"].ToString();
The_User.Password = reader["Password"].ToString();
The_User.Person_ID = reader["PersonID"].ToString();
}
if (x.User_Name == The_User.User_Name && x.Password == The_User.Password)
{
User_Auth = 1;
}
else
{
User_Auth = 0;
}
}
conn.Close();
}
}
Позже в рабочем процессе я хочу получить значение Person_ID из метода GetUser и передать его другому методу - " Сохранить запись ". Вот оно:
public ActionResult SaveRecord(Models.ModelData model)
{
ModelData md = new ModelData();
md.thing1 = model.thing1;
md.thing2 = model.thing2;
md.thing3 = model.thing3;
if (md.thing1 is null) { md.thing1 = ""; };
if (md.thing2 is null) { md.thing2 = ""; };
if (md.thing3 is null) { md.thing3 = ""; };
using (var conn = new SqlConnection("connection stuff"))
using (var com = new SqlCommand("GetAppData1", conn)
{ CommandType = CommandType.StoredProcedure })
{
com.Parameters.AddWithValue("@thing1", md.thing1);
com.Parameters.AddWithValue("@thing2", md.thing2);
com.Parameters.AddWithValue("@thing3", md.thing3);
com.Parameters.AddWithValue("@PID", I NEED PERSON ID RIGHT HERE!!!);
conn.Open();
com.ExecuteNonQuery();
conn.Close();
}
return View();
}
Я перепробовал множество решений, найденных при переполнении стека, и продолжаю сталкиваться с тем, что моя переданная переменная равна нулю, когда мне это нужно, когда вызывается метод Save Record. Я ценю любую помощь! :)