Object reference not set to an instance of an object.
مشکل کجاست؟؟؟؟
Object reference not set to an instance of an object.
مشکل کجاست؟؟؟؟
از آبجکتت نمونه سازی نکردی، بایستی از کلمه ی کلیدی new استفاده کنی :
object obj = new object();
با این کار رفرنسی که از شی object در حافظه ی stock ساخته شده، به نمونه اون در حافظه ی heap اشاره میکنه، پیغام خطای شما هم همین رو میگه، یعنی رفرنسی که از آبجکت ساخته شده، به هیچ نمونه ای از اون آبجکت اشاره نمیکنه.
این قسمت تعریف آبجکته:
// Declare global objects...
SqlConnection objConnection;
SqlDataAdapter objDataAdapter;
DataSet objDataSet;
DataView objDataview;
CurrencyManager objCurrencyManager;
private void FillDataSetAndView()
{
// Initialize a new instance of the DataSet objects...
objDataSet = new DataSet();
// Fill the DataSet objects with data...
objDataAdapter.Fill(objDataSet, "test");
// Set the DataView object to the DataSet objects...
objDataview = new DataView(objDataSet.Tables["test"]);
// Set our CurrencyManager object to the DataView objects...
objCurrencyManager = (CurrencyManager)(this.BindingContext[objDataview]);
با تشکر.
می تونید بلافاصله همون جایی که تعریفش کردید اینکار رو بکنید
ببخشید اینو داخل پرانتز فرض کنید. آقا یا خانم mammad_kami لطفا از تگهای کد و همچنین alignment در هنگام وارد کردن کد خود استفاده کنید تا خوانایی کد شما در سایت بیشتر شود.
در ضمن خطی که خطا در آن رخ داده را مشخص نکرده اید
دوست عزیز بهتر بود خطی رو که خطا در این اتفاق میفتاد رو مشخص میکردی، به هر حال شما از آبجکت های اولیه که اعلان کردی، این دو تا رو مقدار دهی نکردی :
SqlConnection objConnection;
SqlDataAdapter objDataAdapter;
و احتمالا در این قسمت از شما ایراد میگیره :
objDataAdapter.Fill(objDataSet, "test");
سلام
من از این sample قبلا استفاده کردم و به مشکلی بر نخوردم. حتما یه جا رو اشتیاه کردین.
این قسمت کد رو چک کنید بد نیست چون تو کد هایی که send کردین ندیدم این قسمتو
{
objConnection= new SqlConnection(_connectionString);
objDataAdapter= new SqlDataAdapter(_Commandtext, objConnection);
initializecomponent();
}
اساتید گرامی!
مشکل من با objCurrencyManager آبجکتی که خودم از نوع CurrencyManager تعریفش کردم هست. هرجا این آبجکت فراخوانی بشه پیغام خطای مذکورو میده.(همونی که موضوع تاپیکه).
هر کس بتونه کمکم کنه ممنونش میشم!
خط زیر اشتباه است:
objCurrencyManager = (CurrencyManager)(this.BindingContext[objDataview]);
باید به BindingManagerBase تبدیلش کنید و objCurrencyManager از همین نوع باشه.
بله درست میفرمایید، اشکال از اون قسمت نبود (اشکال از من بود که قاطی کردم سلسله مراتب وراثتی رو!)ولی من کدمو از یه sample برداشتم، فکر نکنم ایراد داشته باشه!
من هم با iranrose63 موافقم، نمونه برنامه رو کامل بگذارید بهتر است.
از تگ کد چه جوری می تونم استفاده کنم؟ کجاست؟ پیدا نکردم.
بگید تا بتونم کدمو کامل بذارم!
وقتی روی دکمه ارسال پاسخ کلیک میکنی یه صفحه برات باز می کنه من تو شکل زیر بهت نشون دادم که چه طوری تگ کد رو بیاری
ممنون! ولی اصلا اینجوری نیست، برای من مثل توی عکس ضمیمه ست:
بخاطر تنظیمات کاربری است: به قسمت "کنترل پنل کاربر" رفته (لینکش در بالای صفحه) و در قسمت "گزینه های کاربر" و سپس از قسمت "اختیارات نویسنده"، و از قسمت "حالت نمایش ویرایشگر" از کامبو باکس روبرویش گزینه "جعبه نوشته ساده" رو به "سیستم پیشرفته WYSIWYG" تغییر بدید.
این قسمت تعاریفم:
// Declare global objects...
SqlConnection objConnection;
SqlDataAdapter objDataAdapter;
DataSet objDataSet;
DataView objDataview;
CurrencyManager objCurrencyManager;
privatevoid FillDataSetAndView()
{
// Initialize a new instance of the DataSet objects...
objDataSet = newDataSet();
// Fill the DataSet objects with data...
objDataAdapter.Fill(objDataSet, "test");
// Set the DataView object to the DataSet objects...
objDataview = newDataView(objDataSet.Tables["test"]);
// Set our CurrencyManager object to the DataView objects...
objCurrencyManager = (CurrencyManager)(this.BindingContext[objDataview]);
اینم قسمت فراخوانی، که تو این قسمت اروره مذکورو میده:
privatevoid btnMoveNext_Click(object sender, EventArgs e)
{
// Move to the next record...
objCurrencyManager.Position += 1;
// Show the current record position...
ShowPosition();
}
از راهنمایی هاتون ممنون میشم!
آیا متد FillDataSetAndView قبل از رویداد Click (از btnMoveNext) اجرا میشه؟ مطمئن هستید؟
از اساتید برنامه نویسی C# کسی نیست کمکم کنه؟!!
کدمم که گذاشتم، اگه کمکم کنید ممنون میشم.
دوست عزیز همون طور که جناب PC2st.ir گفتن امکان داره که متد FillDataSetAndView قبل از قبل از رویداد کلیک btnMoveNext فراخوانی نشده باشه به کدت یه نگاهی بنداز و اونو خط به خط اجرا کن و مطمئن شو که objCurrencyManager قبل از objCurrencyManager.Position += 1 تعریف میشه وگرنه اون کدی که تو اینجا گذاشتی به نظر نمیاد ایرادی داشته باشه