PDA

View Full Version : سوال: پاس کردن مقادیر گرید ویو به sp



niloofar norouzi
سه شنبه 29 اردیبهشت 1388, 23:54 عصر
با سلام
من برای درج سطر به گرید از متدزیر استفاده کردم:


publicstaticint InsertRow(string Fname,string Lname,int City_ID)
{
int RowsAffected = 0;
int Result = 0;
DbObject dbo = newDbObject();
SqlParameter[] parameters = newSqlParameter[]
{

newSqlParameter("Fname",Fname),
newSqlParameter("Lname",Lname),
newSqlParameter("City_ID",City_ID),

};
Result = dbo.RunProcedure("sp_Personal_Insert", parameters, out RowsAffected);
return Result;
}


و در برنامه به صورت زیر فراخوانی کردم:


privatevoid btnInsert_Click(object sender, EventArgs e)
{
DataTable dt = sampleDataSet.Tables["Personal"];
DataRow currentrow = dt.Rows[dgvPersonal.CurrentCell.RowIndex];

MyProject.Data.Layer.Personal.InsertRow(dgvPersona l.CurrentRow.Cells["Fname"].Value.ToString(),
dgvPersonal.CurrentRow.Cells["Lname"].Value.ToString(), int.Parse(dgvPersonal.CurrentRow.Cells["City_ID"].Value.ToString()));
}


جداول:



Personal(ID,Fname,Lname,City_ID)
City(ID,CityTitle)


اما وقتی درج می کنم با error روبرو می شم که تصویرش را ضمیمه کردم.
خیلی به کمکتون احتیاج دارم.
با تشکر

hsmfaridmehr
چهارشنبه 30 اردیبهشت 1388, 00:29 صبح
طبق error شما قصد استفاده از سطونی دارید که در گرید وجود نداره بهتره اسم سطون ها ColumnName رو چک کنید(نه HeaderText)

niloofar norouzi
چهارشنبه 30 اردیبهشت 1388, 00:31 صبح
چک کردم اما درست نشد

adinochestva
چهارشنبه 30 اردیبهشت 1388, 01:09 صبح
با ایندکسشون هم می تونید کار کنید.
توجه کنید گاهی قبل از نام کالمن میاد یک کاراکتر اضافه می کنه اگر Obj دیگری با همان نام وجود داشته باشه شاید مشکل این باشه

h.jaza
چهارشنبه 30 اردیبهشت 1388, 10:42 صبح
نام Column ها Fname، Lname و City_ID هستش؟؟؟

h.jaza
سه شنبه 05 خرداد 1388, 19:32 عصر
نکته ی ریزی که وجود داره اینه که باید اسامی که به عنوان پارامتر انتخاب می شن، حتما با @ شروع بشن؛ یعنی:



new SqlParameter("@fname", fname);