Уменьшить значение в SQL, но не отрицательное с помощью C#C#

Место общения программистов C#
Ответить
Anonymous
 Уменьшить значение в SQL, но не отрицательное с помощью C#

Сообщение Anonymous »

Я хочу уменьшить количество моего товара в базе данных с помощью панели уменьшения товара. Но если введенное число больше суммы моего продукта, то есть если сумма уменьшится и станет отрицательной, я хочу, чтобы она выдавала ошибку. Я не смог найти этот механизм принятия решения и необходимые команды, можете ли вы мне помочь?
Я имею в виду, что хочу уменьшить число (которое представляет собой количество продукта), но я не хочу, чтобы число (количество продукта), которое может стать отрицательным. Когда ввод превышает сумму, я хочу выдать ошибку типа «Нам недостаточно товара!»
Я пробую вот так
string constr = ConfigurationManager.ConnectionStrings["stok"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
SqlCommand cmda;
SqlCommand cmdb;
con.Open();

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM urunler WHERE barkod = '" + barkod.Text + "'", con);
SqlDataAdapter db = new SqlDataAdapter("SELECT * FROM urunler WHERE adet >= '0' AND barkod = '" + barkod.Text + "'", con);
DataSet ds = new DataSet();
DataSet dl = new DataSet();
da.Fill(ds);
db.Fill(dl);

if (ds.Tables[0].Rows.Count > 0)
{
cmda = new SqlCommand("UPDATE urunler SET cikarTarih='" + cikarTarih.Text + "'WHERE barkod='" + barkod.Text + "'", con);
cmdb = new SqlCommand("UPDATE urunler SET adet=adet-1 WHERE barkod='" + barkod.Text + "'", con);

for (int i = Convert.ToInt32(adet.Text); i > 0 ; i--)
{
cmdb.ExecuteNonQuery();
if (dl.Tables[0].Rows.Count < 0)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "K", "swal('Hata', 'Ürün adedi yeterli değil!', 'error')", true);
}
}
cmda.ExecuteNonQuery();
ClientScript.RegisterClientScriptBlock(this.GetType(), "K", "swal('İşlem Tamamlandı', 'Ürün adedi başarıyla güncellendi!', 'success')", true);
}
else
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "K", "swal('Hata', 'Aradığınız ürün bulunamadı!', 'error')", true);
}

con.Close();

Вот мое решение!
string constr = ConfigurationManager.ConnectionStrings["stok"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
SqlCommand cmda;
SqlCommand cmdb;
con.Open();

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM urunler WHERE barkod = '" + barkod.Text + "'", con);
SqlDataAdapter db = new SqlDataAdapter("SELECT * FROM urunler WHERE adet >='" + Convert.ToInt32(adet.Text) + "'AND barkod = '" + barkod.Text + "'", con);
DataSet ds = new DataSet();
DataSet dl = new DataSet();
da.Fill(ds);
db.Fill(dl);

if (ds.Tables[0].Rows.Count > 0)
{
if (dl.Tables[0].Rows.Count > 0)
{
cmda = new SqlCommand("UPDATE urunler SET cikarTarih='" + cikarTarih.Text + "'WHERE barkod='" + barkod.Text + "'", con);
cmdb = new SqlCommand("UPDATE urunler SET adet=adet-1 WHERE barkod='" + barkod.Text + "'", con);

for (int i = Convert.ToInt32(adet.Text); i > 0 ; i--)
{
cmdb.ExecuteNonQuery();
}
cmda.ExecuteNonQuery();
ClientScript.RegisterClientScriptBlock(this.GetType(), "K", "swal('İşlem Tamamlandı', 'Ürün adedi başarıyla güncellendi!', 'success')", true);
}
else
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "K", "swal('Hata', 'Yeterli ürün bulunamadı!', 'error')", true);
}
}
else
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "K", "swal('Hata', 'Aradığınız ürün bulunamadı!', 'error')", true);
}

con.Close();


Подробнее здесь: https://stackoverflow.com/questions/790 ... th-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»