PDA

View Full Version : بروز مشکل Object reference not set to an instance of an object.



dr.pantagon
پنج شنبه 08 فروردین 1387, 01:44 صبح
سلام می دونم در این مورد قبلا بحث شده آقا بهروز و سایر مدیران محترم ولی هیچ کدوم به نتیجه نرسیده که مشکل رو حل کنه من الان به این مشکل بر خوردم برای همین این تاپیک رو میزنم
=================
تا 1 ساعت پیش تمام پروژه های من کار می داد ولی یک دفعه همه ریختن به هم و کار نمی دن من به کد هیچ کدوم هم دست نزدم که بگم اشتباه کردم ولی همه ارور می دن دات نت رو پاک کردم و دوباره نصب کردن گفتم شاید مشکل حل شه ولی نشد.
این کد من به نظر شما کجاش مشکل داره.


Private Sub bindGrid()
Dim sqlText2 As String
sqlText2 = "SELECT * FROM erroe where code='" + TextBox1.Text + "'"
Dim dt2 As New DataTable
Dim sda2 As New SqlDataAdapter(sqlText2, cn)
sda2.Fill(dt2)
DataGrid1.DataSource = dt2
DataGrid1.DataKeyField = "uid"
DataGrid1.DataBind()
End Subلطفا اگر کسی می خواد مثل کد بزنه کد VB باشه خواهشن

Modifier
پنج شنبه 08 فروردین 1387, 02:03 صبح
با سلام

datatable باید داخل یه منبعی باشه تا بهش دسترسی داشت.
اون رو داخل یه dataset اضافه کن
به این صورت :

dataset.Tables.Add("table name");


بعد از اون در متد fill استفاده کن:
به این صورت :

adapter.Fill(dataset, "table name");

یا اینکه هنگام fill کردن datatable رو با یه نامی بسازی :

adapter.Fill(dataset, "aaa");

نکته : هنگام fill کردن در ds
datatable ساخته میشود اگر برایش نامی نگذاریم با ایندکش باید به آن دسترسی داشت
در حالت فوق ما برایش نام گذاشتیم

بعد برای دسترسی به datatable ابتدا به دیتا ست دسترسی پیدا کن

dbgrid.datasource = ds
بعد datatable :

dbgrid.datamember = "aaa"


یا علی

dr.pantagon
پنج شنبه 08 فروردین 1387, 02:15 صبح
متاسفانه جواب نداد:((

unknownboe
پنج شنبه 08 فروردین 1387, 12:20 عصر
سلام
شما باید اول یه دیتا ست تعریف کنی بهد دستور fill رو بهش بدی

dim ds as new dataset

(sda2.fill(ds

(DataGrid1.DataSource = ds.tabels(0

dr.pantagon
پنج شنبه 08 فروردین 1387, 15:54 عصر
دوستان عزیز شما به این نوشته من توجه نکردید
تا 1 ساعت پیش تمام پروژه های من کار می داد ولی یک دفعه همه ریختن به هم و کار نمی دن من به کد هیچ کدوم هم دست نزدم !!!
فکر کنم ویندوز رو عوض کنم دوباره VS رو نصب کنم درست بشه

MehranZand
پنج شنبه 08 فروردین 1387, 16:09 عصر
یک شی Initialize نمیشه، نقطه انفصال بذار دیباگ کن و بررسی کن.

raravaice
پنج شنبه 08 فروردین 1387, 16:11 عصر
مقدار cn رو بررسی کن.
احتمالا connection string درست عمل نمیکنه که بانک پیدا نمیشه.
یا اینکه SqlConnection یه جا به مشکل بر خورده.

مشکل از قسمت این تعریف ها هست مطمئنا.

موفق باشید

dr.pantagon
پنج شنبه 08 فروردین 1387, 16:16 عصر
دوباره برنامه با همون کدم راه افتاد و شروع به کار کرد بدون اینکه تغییر داده باشم
فقط .NET رو دوباره نصب کردم و یک RESTART مشکل رو حل کرد
ولی ویندوز رو حتما عوض می کنم
خود ماکروسافت انگار گفته مشکل از کانکشن است که این مشکل پیش می یاد یعنی مشکل از DLL است که ما باهاش کار می کنیم منظورم همون Adodb است
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\adodb .dll