PDA

View Full Version : سوال: علت اصلی خطای there is no row at possition 0



aminaltavista
جمعه 31 شهریور 1391, 20:58 عصر
سلام

شاید شماهم موارد زیادی با این خطا (there is no row at possition 0)مواجه شده باشید . با این که میدونید درست دارید کار میکنید و داده هم در جدولتون هست . من خیلی زیاد از این خطا رنج میکشم(there is no row at possition 0)ونمیدونم علت چی هست ؟ چرا اینجا (در این قسمت) ازم خطا میگیره وجاهای دیگه نیستش؟ میخوام بدونم چه طور میشه از این خطا جلوگیری کرد؟:متفکر:

mohammad diba
جمعه 31 شهریور 1391, 21:03 عصر
دوست عزیز کدت رو بذار ببینیم مشکل چیه؟ اینجوی نمیشه

ehsanprog
جمعه 31 شهریور 1391, 21:05 عصر
چرا اینجا (در این قسمت) ازم خطا میگیره وجاهای دیگه نیستش؟
کجا رو میگید؟ ما که قسمتی نمی بینیم!

aminaltavista
جمعه 31 شهریور 1391, 21:08 عصر
کجا رو میگید؟ ما که قسمتی نمی بینیم!

:قهقهه: عذر خواهی میکنم ! خواستم یه جور عقدم رو خالی کنم و در واقع یه مثال بود البته درست هم نبود اما ببخشید.

aminaltavista
جمعه 31 شهریور 1391, 21:11 عصر
دوست عزیز کدت رو بذار ببینیم مشکل چیه؟ اینجوی نمیشه


این متدی هست که باهاش دادم رو میگیرم!

public string StartShift(string Name)
{
SqlConnection Conn = new SqlConnection("Data Source=.;Initial Catalog=Persia Glasses;Integrated Security=True");
SqlDataAdapter DA = new SqlDataAdapter("SELECT sh_start FROM t_shift WHERE Users Like '%" + Name.Trim() + "%'", Conn);
DataTable DT = new DataTable();
DA.Fill(DT);
return DT.Rows[0]["sh_start"].ToString().Trim();
}

و نحوه فرا خونیش:

lblStartShift.Text = StartShift(lblCurrentUser.Text);

ehsanprog
جمعه 31 شهریور 1391, 21:15 عصر
مرحمتی کنید و از این مثال های کاربردی برای من نزنید ؛ زیر این خط بگید تا ما هم سیری بنماییم.
از نظر شما دوست گران ، همینطوری و دست خالی زشت نیست؟!
صوتی ، تصویری ، کدی ، چیزی ؛ بالاخره یه چیزی از خودتان بنوازید.

m0hammad_01
جمعه 31 شهریور 1391, 23:29 عصر
سلام

شاید شماهم موارد زیادی با این خطا (there is no row at possition 0)مواجه شده باشید . با این که میدونید درست دارید کار میکنید و داده هم در جدولتون هست . من خیلی زیاد از این خطا رنج میکشم(there is no row at possition 0)ونمیدونم علت چی هست ؟ چرا اینجا (در این قسمت) ازم خطا میگیره وجاهای دیگه نیستش؟ میخوام بدونم چه طور میشه از این خطا جلوگیری کرد؟:متفکر:
سلام
تا حالا نشده من به موردی بر بخورم که توش این حالتی که میگین بوجود بیاد.یعنی DataTable داده داشته باشه و این پیغام رو بده!
با trace کردن کدتون و Manitor کردن متغیرها و DataTable مطمئن شید که داده وجود داره یا نه.

ali_habibi1384
شنبه 01 مهر 1391, 00:10 صبح
در اين لينك (http://stackoverflow.com/questions/4304249/why-this-error-there-is-no-row-at-position-0)و اين لينك (http://stackoverflow.com/questions/4304249/why-this-error-there-is-no-row-at-position-0) نمونه هايي از اين خطاها و دلايل برخورد به اين خطا ها و روش رفعش رو گذاشته

aminaltavista
شنبه 01 مهر 1391, 08:28 صبح
سلام
تا حالا نشده من به موردی بر بخورم که توش این حالتی که میگین بوجود بیاد.یعنی DataTable داده داشته باشه و این پیغام رو بده!
با trace کردن کدتون و Manitor کردن متغیرها و DataTable مطمئن شید که داده وجود داره یا نه.

همون طور که گفتم هم شرط و هم داده هام درست هستند اما من بررسی که کردم فهمیدم عیب کار کجاست!

دوستان ایراد اصلی قرار دادن داده فارسی در عبارت شرط است (where name)
مسلما name یک مقدار فارسی هست چون باید فرضا اگه یه نفر نامش علی باشه رکوردهای دیگه رو هم بر اساس اون بیرون بیاره. من با یه فیلد دیگه که داده ای غیر از فارسی داخلش هست امتحان کردم و جواب داد. اما حالا میخوام از شما سوال کنم اگه مورد شرط فارسی بود باید چه تغییراتی داخلش ایجاد کنم یا چه طوری کارش کنم؟

m0hammad_01
شنبه 01 مهر 1391, 11:31 صبح
همون طور که گفتم هم شرط و هم داده هام درست هستند اما من بررسی که کردم فهمیدم عیب کار کجاست!

دوستان ایراد اصلی قرار دادن داده فارسی در عبارت شرط است (where name)
مسلما name یک مقدار فارسی هست چون باید فرضا اگه یه نفر نامش علی باشه رکوردهای دیگه رو هم بر اساس اون بیرون بیاره. من با یه فیلد دیگه که داده ای غیر از فارسی داخلش هست امتحان کردم و جواب داد. اما حالا میخوام از شما سوال کنم اگه مورد شرط فارسی بود باید چه تغییراتی داخلش ایجاد کنم یا چه طوری کارش کنم؟
پس همون داده تو Data Table برنمیگشت که این خطا رو میداد.
اینکه میگین فارسی، یعنی اگه بهش "علی" بدین داده ای پیدا نمی کنه؟! و اگه انگلیسی بدین درست کار میکنه؟
اینجا مشکل کلا از فارسی بودن نیست.چون اینهمه بچه ها کد می نویسن و این همه برنامه ها با فارسی کار میکنه.
شما مطمئن شید علمه علی دقیقا توی پایگاه داده به صورت علی اومده.ممکن هست مثلا "ی" به صورت عربی درج شده باشه.
در ضمن یک بار Trim رو بردار ببین نتیجه چی میشه (شاید Trim کردن تو اینجا با فارسی مشکل ساز شده، مطمئن نیستم فقط حدس می زنم)
اگه بازم جواب نداد، شرطت رو از Like به = تغییر بده.ببین اصلا کد کار می کنه یا نه؟