PDA

View Full Version : سوال: خطا در هنگام اجرا این دستور Data Table



Smoke_1110
جمعه 26 فروردین 1390, 18:00 عصر
سلام دوستان
من روی خاصیت یک تکست باکس مربوط به Keydown این کد رو نوشتم ولی وقتی برنامه رو اجرا میکنم تنها اجازه میده یک حرف رو وارد کنم و بعد به تکس باکس بعدی منتقل میشه چکار کنم بگذاره تمام کلمه رو وارد کنم بعد اگر شرط برقرار بود انجام بده؟
private void textBox3_KeyDown(object sender, KeyEventArgs e)
{



if (e.KeyCode == Keys.Enter)
{
table2TableAdapter.FillBymeli(mashmolinDataSet.Tab le2, textBox3.Text);
DataTable dt = new DataTable();
if (dt.Rows.Count == 0)
MessageBox.Show("این کد ملی قبلا ثبت شده است", "هشدار امنیتی", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}

else
textBox4.Focus();

}

TeacherMath
شنبه 27 فروردین 1390, 00:45 صبح
این کد را به این صورت اصلاح کن :
if (e.KeyCode == Keys.Enter)
{
table2TableAdapter.FillBymeli(mashmolinDataSet.Tab le2, textBox3.Text);
DataTable dt = new DataTable();
if (dt.Rows.Count == 0)
MessageBox.Show("این کد ملی قبلا ثبت شده است", "هشدار امنیتی", MessageBoxButtons.OK, MessageBoxIcon.Stop);
else
textBox4.Focus();

}

f4rib0rz
شنبه 27 فروردین 1390, 01:55 صبح
خب بایدم Focus بره رو textbox بعدی چون خودت اینو نوشتی این کدی که نوشتی میگه اگه کلیدی که زده میشه enter بود یه سری کارا انجام بده اگه نه Focus بره رو textbox4 .
اینطوری وقتی می خوای تایپ کنی با اولین کلیدی که میزنی میپره رو textbix بعدی . قسمت else رو کلا پاک کن یه تست بگیر مشکلت حل میشه .

Smoke_1110
شنبه 27 فروردین 1390, 16:06 عصر
این کد را به این صورت اصلاح کن :
if (e.KeyCode == Keys.Enter)
{
table2TableAdapter.FillBymeli(mashmolinDataSet.Tab le2, textBox3.Text);
DataTable dt = new DataTable();
if (dt.Rows.Count == 0)
MessageBox.Show("این کد ملی قبلا ثبت شده است", "هشدار امنیتی", MessageBoxButtons.OK, MessageBoxIcon.Stop);
else
textBox4.Focus();

}
الان هر چی وارد می کنم میگه این کد قبلا ثبت شده اشکال کجاست؟ فرقی هم نداره چه Else باشه چه نه

TeacherMath
شنبه 27 فروردین 1390, 17:53 عصر
سلام. برنامه را با F11 ران کن بعد ببین کجا مشکل داره. مثل اینکه منطق برنامت ایراد داره.

ma.rad
شنبه 27 فروردین 1390, 18:57 عصر
if (dt.Rows.Count == 1)

ma.rad
شنبه 27 فروردین 1390, 18:58 عصر
if (dt.Rows.Count == 1)

ali.asady
شنبه 27 فروردین 1390, 20:33 عصر
ای بابا تو یک جدول جدید درست میکنی بعد میگی اگر تعداد سطرهاش 0 باشد پیغام هشدار بده
حلش یک خط بیشتر نیست
اونم تعداد سطرهای جدول پر شده رو ببینی

این خط رو حذف کن


datatable dt=new datatable
();

به جای این عبارت هم این رو بنویس if (dt.Rows.Count == 0)


if (Table2.Rows.Count >1)

Smoke_1110
شنبه 27 فروردین 1390, 22:17 عصر
ای بابا تو یک جدول جدید درست میکنی بعد میگی اگر تعداد سطرهاش 0 باشد پیغام هشدار بده
حلش یک خط بیشتر نیست
اونم تعداد سطرهای جدول پر شده رو ببینی

این خط رو حذف کن


datatable dt=new datatable
();

به جای این عبارت هم این رو بنویس if (dt.Rows.Count == 0)


if (Table2.Rows.Count >1)




من این کد رو نوشتم ولی باز فایده نداره:
if (e.KeyCode == Keys.Enter)
{
table2TableAdapter.FillBymeli(mashmolinDataSet.Tab le2, textBox3.Text);

if (mashmolinDataSet.Table2.Rows.Count > 1)
MessageBox.Show("این کد ملی قبلا ثبت شده است", "هشدار امنیتی", MessageBoxButtons.OK, MessageBoxIcon.Stop);
else
textBox4.Focus();

}

f4rib0rz
یک شنبه 28 فروردین 1390, 11:30 صبح
اصلا معلوم نیست می خوای چی کار کنی با این قطعه کد . اون چیزی که سوال کردی اول این بود که چرا میپره تو textbox بعدی که جوابت دادم . ولی این خطایی که الان میگی باید اطلاعات بیشتر بدی که می خوای چیکار کنی خود برنامه رو اینجا پیوست کن تا جوابت رو بگیری..... موفق باشی