Как передать логин пользователя в таблицу? C# Winforms
Мне нужно, чтобы после входа в аккаунт, при добавлении товара в корзину, логин пользователя автоматически добавлялся в таблицу с заказами. Подскажите, как это реализовать? Я делала так, но у меня передаётся всё в таблицу заказов, кроме самого логина.
Первая форма - вход пользователя.
public string userlog;
<...>
private void EnterButton_Click(object sender, EventArgs e) // Авторизация пользователя
{
<...> //цикл на проверку
else if (sdr[4].ToString() == "user")
{
userlog = LoginBox.Text;
ProductInfo pi = new ProductInfo();
pi.ulog = userlog;
MainForm mf = new MainForm();
this.Hide();
mf.Show();
}
<...> //цикл на проверку
}
Вторая форма - добавление в корзину
public string ulog;
private void AddToBasket_Click(object sender, EventArgs e)
{
DateTime AddingDate = DateTime.Now;
double totalPrice = Convert.ToDouble(CounterProd.Value) * Convert.ToDouble(ProdPrice.Text);
if (CounterProd.Value <= Convert.ToInt32(ProdAmount.Text))
{
SqlConnection connect = new SqlConnection("Data Source=R500V\\SQLEXPRESS;Initial Catalog=drug-store;Integrated Security=True");
SqlCommand cmd = new SqlCommand(@"INSERT INTO [dbo].[Orders]
([UserLogin]
,[ProductName]
,[Amount]
,[Date]
,[TotalPrice]
,[UserAdress]
,[Status])
VALUES
('" + ulog + "','" + ProdName.Text + "','" + CounterProd.Value + "','" + AddingDate + "','" + totalPrice + "', ' ', 'В корзине')", connect);
connect.Open();
cmd.ExecuteNonQuery();
connect.Close();
Может можно каким-то другим способом передать значение логина? Подскажите, пожалуйста, в чём может быть проблема!
Ответы (1 шт):
Автор решения: return
→ Ссылка
Вы не передаёте значение ulog во 2-ю форму - только в экземпляр класса ProductInfo, также у вас некорректное сравнение:
public string userlog;
<...>
private void EnterButton_Click(object sender, EventArgs e) // Авторизация пользователя
{
const userLoginPrefix = "user";
<...> //цикл на проверку
else if (sdr.StartsWith(userLoginPrefix)) // replaced line
{
userlog = LoginBox.Text;
ProductInfo pi = new ProductInfo();
pi.ulog = userlog;
MainForm mf = new MainForm();
mf.ulog = userlog; // added line
this.Hide();
mf.Show();
}
<...> //цикл на проверку
}
Пожалуйста, пишите код по code-style данного языка (в данном случае c#):
ulog,userlog->userLoginpublic string ulog->internal string userLoginpi->productInfo/productProdName, ... ->ProductName, ...sdr-> ???a.ToStirng() + ", " + b.ToString()->$"{a}, {b}"/ билдинг с использованиемStringBuilder/ValueStringBuilder(ссылка)