PDA

View Full Version : سوال: پیغام در صورت صفر بودن مقدار یک سلول از یک رکورد جدول



ghasem110deh
جمعه 17 بهمن 1393, 22:23 عصر
سلام به همه ...
------------------
توی جدول کالا و فروش چیکار کنم که اگه مقدار فیلد تعداد کالا 0 شد ، دیگه فاکتور صادر نشه ... مثلا پیغام بده؟
.
.
.
میشه با reader مقدار رو خوند و اگر برابر صفر نبود دستورات اجرا در غیر اینصورت پیغام بده ؟

sajadsobh
شنبه 18 بهمن 1393, 01:03 صبح
فاکتور صادر نشه؟! وقتی که موجودی یه کالا تموم میشه باید اصلاً موقع انتخاب کالا اخطار داده بشه نه موقع صدور فاکتور. که دیگه توی فاکتور نیاد. من نظرم اینه.

ghasem110deh
شنبه 18 بهمن 1393, 13:59 عصر
ممنون ...
این که شما گفتین بهتره !
چجوری پیادش کنم ؟

sajadsobh
شنبه 18 بهمن 1393, 22:11 عصر
بستگی به روشی داره که شما واسه انتخاب کالا در نظر میگیرید. برای مثال می تونید یه فرم بسازید که شامل همه کالاهای موجود در انبار باشه و موقع اضافه کردن کالا وارد اون فرم بشید و کالای موردنظرتون رو انتخاب کنید. اینجا می تونید یه کوئری بنویسید که اگه موجودی انبار صفر بوده یه اخطار بده که همچین کالایی در انبار موجود نیست و نمیشه انتخابش کرد.

ghasem110deh
یک شنبه 19 بهمن 1393, 03:25 صبح
سلام آقا سجاد ...
تو فرم فروش یه کومبوباکس گذاشتم که کالاها رو نشون میده !

این کد :

private void bindCombo() {
try
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=AnbarDB;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("Select DISTINCT Kala from TKala", con);
DataSet table = new DataSet();
da.Fill(table, "A");
comboBox1.DataSource = table.Tables["A"].DefaultView;
comboBox1.DisplayMember = "Kala";
}
catch
{
MessageBox.Show("عدم خواندن اطلاعات از جدول کالا", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

تو اون کوئری نمیدونم چی بنویسم که اگه تعدا صفر بود اصلا توی کمبوباکس ، نام کالا رو نشون نده !؟

sajadsobh
یک شنبه 19 بهمن 1393, 06:38 صبح
واسه پر کردن کمبوباکس از این قطعه کد استفاده کن:

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=AnbarDB;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("Select * from TKala", con);
DataTable dt = new DataTable();
da.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Kala";
comboBox1.ValueMember = "ID";
comboBox1.SelectedIndex = 0;

موقع انتخاب کالا از توی کمبوباکس یا موقع ثبت بیا چک کن ببین موجودی کالا چقدره. هم می تونی توی رویداد SelectedIndexChanged از کمبوباکس بنویسی هم موقع ثبت اطلاعات:

int ID = Convert.ToInt32(comboBox1.SelectedValue);
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=AnbarDB;Integrated Security=True");
SqlCommand cmd = new SqlCommand("Select Tedad from TKala where ID = " + ID, con);
con.Open();
if (Convert.ToInt32(cmd.ExecuteScalar()) == 0)
{
MessageBox.Show("این کالا در انبار موجود نمی باشد");
}
else
//دستورات مورد نیاز در صورت موجود بودن کالا