PDA

View Full Version : مشکل در برطرف کردن خطای



vakil_1365
سه شنبه 13 فروردین 1387, 15:38 عصر
سلام اگه کسی بتونه در برطرف کردن خطای زمان اجرای
Object reference not set to an instance of an object کمکم کنه ممنون می شم.
این خطا وقتی اتفاق می افته که event
dataGridView1_CellEndEdit رخ می ده
کد event :


ForwardToSearch search1 = newForwardToSearch();
privatevoid dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.Rows[number].Cells[2].Value != null)
kala = dataGridView1.Rows[number].Cells[2].Value.ToString();
if (kala != null)
{
DataSet dataset3=newDataSet();
dataset3 = search1.find_CodeKala(kala);
if (dataset3.Tables[0].Columns["کد کالا"].ToString() != null)
dataGridView1.Rows[number].Cells[1].Value = dataset3.Tables[0].Columns["کد کالا"];
}
}

کد تابع find_codekala در کلاس ForwardToSearch در لایه BL


publicDataSet find_CodeKala(string name)
{
dataset1 = search1.search_CodeKala(name);
return dataset1;
}

کد تابع search_CodeKala در لایه DAL:

publicDataSet search_CodeKala(string name)
{
dataset1 = connection.Query("select [کد کالا] from _woods where [نام کالا]=N'" + name + "'");
return dataset1;
}

کد connect شدن به db:


namespace DAL
{
publicclassConnect
{
SqlConnection objConnection = newSqlConnection("server=localhost;database=storage; User ID=sa; password=");
SqlDataAdapter objDataAdapter = newSqlDataAdapter();
DataSet objDataSet = newDataSet();
publicDataSet Query(string query)
{
objDataAdapter.SelectCommand = newSqlCommand();
objDataAdapter.SelectCommand.Connection = objConnection;
objDataAdapter.SelectCommand.CommandText = query;
objConnection.Open();
objDataAdapter.Fill(objDataSet, "store");
objConnection.Close();
objDataAdapter = null;
objConnection = null;
return objDataSet;
}
}
}

خطا دقیقاً در خط صورتی اتفاق می افتد.

علیرضا مداح
سه شنبه 13 فروردین 1387, 17:28 عصر
سلام ،
مسئله کاملا" روشن است ، در متد Query ، پس از فراخوانی متد Close مربوط به Sql Connection شیء objDataAdaptyer مساوی null قرار میگیرد ،