PDA

View Full Version : سوال: مشکل در کد if



reza69
یک شنبه 11 فروردین 1392, 15:02 عصر
سلام
نمیدونم چرا بعد از اجرای کد زیر دستور if اجرا نمیشه.

try
{
string sql = string.Format("SELECT * FROM tmoshtari where shmobile =" + txtmobile2.Text);
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
da.Fill(ds, "tmoshtari");
DataTable db = ds.Tables["tmoshtari"];
if (db.Rows.Count == 0)
{
MessageBox.Show(".????? ???? ??? ???? ???");
return;
}
dataGridView2.DataSource = db;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

این کد رو برای ستون کد مشتری که تو جدول کلید اصلی هست اجرا میکنم و جواب میده ولی برای این ستون جواب نمیده. و msgbox اجرا نمیشه.

Tiam121
یک شنبه 11 فروردین 1392, 15:18 عصر
حتما مقدار شرط برابر false میشه.با شرطی که شما گذاشتی وقتی جدول خالی باشه باید پیغام رو نشون بده
برنامه رو تریس کن و ببین تعداد سطرهای دیتاتیبل بیشتر از صفر هستن یا نه؟؟

reza69
یک شنبه 11 فروردین 1392, 16:08 عصر
حتما مقدار شرط برابر false میشه.با شرطی که شما گذاشتی وقتی جدول خالی باشه باید پیغام رو نشون بده
برنامه رو تریس کن و ببین تعداد سطرهای دیتاتیبل بیشتر از صفر هستن یا نه؟؟
چجوری برنامه رو تریس کنم؟

erfan_urchin
یک شنبه 11 فروردین 1392, 16:16 عصر
برو روی خط شماره3 و F9 رو بزن وقتی این کارو میکنی خط شماره3 قرمز میشه و بعد F5 رو بزن تا برنامت اجرا بشه و بعد از اینکه اجرا شد با زدن F10 خط به خط برو جلو و از پنجره Local که پایین صفحه باز شده چک کن که تعداد سطر های دیتاتیبل بیشتر از صفر هست یا نه و ببین مشکل از کجاست
موفق باشی

reza69
یک شنبه 11 فروردین 1392, 16:40 عصر
برو روی خط شماره3 و F9 رو بزن وقتی این کارو میکنی خط شماره3 قرمز میشه و بعد F5 رو بزن تا برنامت اجرا بشه و بعد از اینکه اجرا شد با زدن F10 خط به خط برو جلو و از پنجره Local که پایین صفحه باز شده چک کن که تعداد سطر های دیتاتیبل بیشتر از صفر هست یا نه و ببین مشکل از کجاست
موفق باشی
تا موقعی که عدد درست رو وارد نکنم هیچی تو local نیست ولی موقعی که مقدار درست رو وارد می کنم اطلاعات رو داخل لوکال میاره.

erfan_urchin
یک شنبه 11 فروردین 1392, 17:11 عصر
تا موقعی که عدد درست رو وارد نکنم هیچی تو local نیست ولی موقعی که مقدار درست رو وارد می کنم اطلاعات رو داخل لوکال میاره.

منظورتونو نفهمیدم؟؟؟ یعنی الان به مشکلی برخوردین؟؟

Tiam121
یک شنبه 11 فروردین 1392, 20:29 عصر
اگه از روی کد شما درست متوجه شدم داری بر اساس شماره موبایل جستجو میکنی
مسلما در صورتی که شماره صحیح نباشه چیزی پیدا نمیشه و دیتاتیبل خالیه و باید پیغام نمایش داده بشه اما اگر شماره ای پیدا شد دستور بلوک if اجرا نمیشه این موضوع رو تست کن اگر نتیجه نگرفتی بگو
موفق باشی

reza69
دوشنبه 12 فروردین 1392, 08:44 صبح
اگه از روی کد شما درست متوجه شدم داری بر اساس شماره موبایل جستجو میکنی
مسلما در صورتی که شماره صحیح نباشه چیزی پیدا نمیشه و دیتاتیبل خالیه و باید پیغام نمایش داده بشه اما اگر شماره ای پیدا شد دستور بلوک if اجرا نمیشه این موضوع رو تست کن اگر نتیجه نگرفتی بگو
موفق باشی
منم دارم همینو میگم نمیدونم چرا موقعی که شماره موبایل رو اشتباه وارد میکنم پیغام نمایش داده نمیشه؟
یه ستون دیگه هم دارم برای کد ملی اونم همین نتیجه رو میده.
ولی برای کلید اصلی جدولم که شماره مشتری هست همین کد رو نوشتم و در صورت اشتباه وارد کردن کد مشتری، پیغام نمایش داده میشه.

Tiam121
دوشنبه 12 فروردین 1392, 11:31 صبح
اگه میتونی برنامه رو بزار تا چکش کنم

reza69
دوشنبه 12 فروردین 1392, 12:43 عصر
فهمیدم ایراد از کجاست باید این کد رو جاگزین کنیم.

string sql = string.Format("SELECT * FROM tmoshtari where shmobile LIKE N'" + txtmobile2.Text + "'");