PDA

View Full Version : ساختار حلقه Forو سوال در مورد آن



شهابسلطانی
یک شنبه 31 فروردین 1399, 11:54 صبح
سلام
بنده دوتا جدول دارم
میخوام این اتفاق بیفته
اگر آیدی های توی هر دو جدول هم سان بود پس دو تا فیلد با هم جمع بشن
اما اگر در یکی از جدولها آیدی بود و در جدول دیگر نبود مثلا پیام بده "کد موجود نیست"
یه حلقه به شکل زیر نوشتم
لطفا ببینید ایرادش چیه
در واقع شرط اول(جمع زدن دو تا فیلد) رو انجام میده اما قسمت دوم شرط رو نمیتونه شناسایی کنه

double m;
double val = Convert.ToDouble(DGVBom.CurrentRow.Cells["tasValueR"].Value);
int ccid = Convert.ToInt32(DGVBom.CurrentRow.Cells["tasCcid"].Value);
for (int j = 0; j < dfg.RowCount; ++j)
{
int ccid2 = Convert.ToInt32(dfg.Rows[j].Cells["tas2Ccid"].Value);
double valsum = Convert.ToDouble(dfg.Rows[j].Cells["tas2ValueR"].Value);
for (int i = 0; i < DGVBom.RowCount; i++)
{
if (ccid2 == ccid)
{
m = val + valsum;
MessageBox.Show("" + m);
}
if (ccid > 0 & ccid2 < 0)
{
MessageBox.Show("کد موجود نیست");
}
break;
}
}

ShayanFiroozi
یک شنبه 31 فروردین 1399, 12:58 عصر
اما اگر در یکی از جدولها آیدی بود و در جدول دیگر نبود مثلا پیام بده "کد موجود نیست"



if (ccid > 0 & ccid2 < 0)




سلام دوست عزیز ،

بنده دقیقا با این معماری شما آشنا نیستم که از چه سبکی برای Query زدن دارین استفاده میکنین ولی یه سوال :

اگر دیتا موجود نباشه چرا ccid2 منفی میشه ؟؟ باید مساوی با صفر بشه.



if (ccid > 0 & ccid2 == 0)

[/QUOTE]

شهابسلطانی
یک شنبه 31 فروردین 1399, 13:11 عصر
سلام دوست عزیز ،

بنده دقیقا با این معماری شما آشنا نیستم که از چه سبکی برای Query زدن دارین استفاده میکنین ولی یه سوال :

اگر دیتا موجود نباشه چرا ccid2 منفی میشه ؟؟ باید مساوی با صفر بشه.



if (ccid > 0 & ccid2 == 0)

[/QUOTE]


ممنون از همفکری شما
من از روش ٍEntiti استفاده میکنم برای query
دوست عزیز توی جدول دوم اگر آیدی نباشه باید پیغام رو صادر کنه
بنا براین آیدی توی جدول اول بزرگتر از صفر هست و باید توی جدول دوم وجود نداشته باشه تا شرط رعایت بشه
ولی من با انواع علامتها شامل(!= و < و > و == و & و && و...) امتحان کردم ولی جواب نمیگیرم
دقیقا گیر بنده هم همینجاست

ShayanFiroozi
یک شنبه 31 فروردین 1399, 13:22 عصر
دستور break رو چرا خارج از if ها گذاشتین ؟!

اینجوری که حلقه فقط 1 بار اجرا میشه.

شهابسلطانی
یک شنبه 31 فروردین 1399, 13:28 عصر
دستور break رو چرا خارج از if ها گذاشتین ؟!

اینجوری که حلقه فقط 1 بار اجرا میشه.


مشکل اصلا break نیست داداش

ShayanFiroozi
یک شنبه 31 فروردین 1399, 13:28 عصر
خوب اگر دیتای مورد نظر در جدول دوم وجود نداشته باشه مقدار منفی میشه ؟!! فکر کنم باید برابر با صفر بشه.
در خصوص مقایسه ها و شرط ها هم که نمیشه شانسی و سعی و خطایی عمل کرد ، شما باید در جریان کدی که مینویسین باشین.:چشمک:

شهابسلطانی
یک شنبه 31 فروردین 1399, 13:45 عصر
ممنون از پاسخ ها و تلاش برای رفع مشکل

شهابسلطانی
یک شنبه 31 فروردین 1399, 13:48 عصر
خوب اگر دیتای مورد نظر در جدول دوم وجود نداشته باشه مقدار منفی میشه ؟!! فکر کنم باید برابر با صفر بشه.
در خصوص مقایسه ها و شرط ها هم که نمیشه شانسی و سعی و خطایی عمل کرد ، شما باید در جریان کدی که مینویسین باشین.:چشمک:

به تصویر توجه کنید شاید موضوع شفاف تر بشه دو تا جدول کاملا مشخص هستن
151623