PDA

View Full Version : حذف یک رکورد در دیتابیس در GridView



rooterror
جمعه 20 فروردین 1395, 07:34 صبح
مشکل این کد چیه ؟

چرا بعد از اینکه روی دکمه میزنم ارور میده

protected void BindGrid()
{
GridView2.DataSource = ViewState["Users"] as DataTable;
GridView2.DataBind();
}


protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int index = Convert.ToInt32(e.RowIndex);
DataTable dt = ViewState["Users"] as DataTable;
dt.Rows[index].Delete();
ViewState["Users"] = dt;
BindGrid();
}
protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string item = e.Row.Cells[0].Text;
foreach (Button button in e.Row.Cells[2].Controls.OfType<Button>())
{
if (button.CommandName == "Delete")
{
button.Attributes["onclick"] = "if(!confirm('Do you want to delete " + item + "?')){ return false; };";
}
}
}
}

به این خط ارور میده

dt.Rows[index].Delete();



برای پاک کردن یک سطر چیز دیگر هم میخواد ؟

راستی تیبل ها و سطر ها کجا باید تعریف بشه ؟

نمونه کد ساده ندارید که ازش استفاده کنم ؟

rooterror
جمعه 20 فروردین 1395, 11:10 صبح
کسی حتی پروژه کار با این ها رو نداره ؟

پروژه هایی که تو اینترنت هست هر کدوم یه ارور میده

من الان میتون اطلاعاتو تو دیتابیس وارد کنم فقط نمیتونم ویرایش و دلیت کنم

لطفا راهنماییم کنید

maxpayn2
شنبه 21 فروردین 1395, 03:34 صبح
سلام . پیشنهاد میکنم بری سراغ Entity Framework . خیلی راحت تره و دردسرش هم خیلی کم تره

rooterror
شنبه 21 فروردین 1395, 03:43 صبح
یعنی عملکردش قوی تر از gridview هست ؟

من برای پست ها و مطالب سایتم میخوام

maxpayn2
شنبه 21 فروردین 1395, 03:52 صبح
Entity Framework جای گرید ویو رو نمیگیره بلکه یه روش یا بهتره بگیمیه تکنولوژی ارتباط با پایگاه داده هاس . یعنی به جای اینکه هر بار دیتا تیبل و دیتا رو و ... تعریف کنی با 1 خط Select میکنی با 1 خط Update و Delete . گرید ویو سر جای خودش باقیه

rooterror
شنبه 21 فروردین 1395, 04:16 صبح
شما پروژه در حد ویرایش و اضافه و حذف با استفاده از همین Entity Framework

نداری ؟

maxpayn2
شنبه 21 فروردین 1395, 04:40 صبح
پروژه دارم . حجمش خییلی بالاس نمیتونم آپلود کنم . ببین اول باید 1 دونه مدل از دیتابیست به پروژه اضافه کنی . بعد اول صحه کد ها (قبل از پیج لود) 1 نمونه از اون مدل بسازی (use یادت نره) بعد طبق مثال های زیر عمل کنی . یادت نره حتما از Connection String توی Web.config استفاده کنی که تو هر صفحه مجبور نباشی بنویسیش

Use

using System.Linq;



Object of Database Model

RayyanKongereEntities context = new RayyanKongereEntities();


protected void Page_Load(object sender, EventArgs e)
{


}




Select

string mobile = (from m in context.Persons where m.Phone == phone select m.Phone).SingleOrDefault();



Insert

if (Page.IsValid)
{
int age = Convert.ToInt32(txtAge.Text);


KongereRegister.Models.Persons persons = new Models.Persons()
{
Name = txtName.Text,
Family = txtFamily.Text,
Age = age,
State = ddlState.SelectedValue,
Email = txtEmail.Text,
Phone = txtMobile.Text,
Poems = CKEditorControl1.Text,
Education = ddlEducation.SelectedValue,
HowTo = "-",
Sex = ddlSex.SelectedValue
};


context.Persons.Add(persons);
context.SaveChanges();




و ....

پیشناد میکنم تو اینترنت بگردی اموزش هاش رو بینی

maxpayn2
شنبه 21 فروردین 1395, 04:43 صبح
پروژه دارم . حجمش خییلی بالاس نمیتونم آپلود کنم . ببین اول باید 1 دونه مدل از دیتابیست به پروژه اضافه کنی . بعد اول صحه کد ها (قبل از پیج لود) 1 نمونه از اون مدل بسازی (use یادت نره) بعد طبق مثال های زیر عمل کنی . یادت نره حتما از Connection String توی Web.config استفاده کنی که تو هر صفحه مجبور نباشی بنویسیش
Use

using System.Linq;



Object of Database Model

RayyanKongereEntities context = new RayyanKongereEntities();


protected void Page_Load(object sender, EventArgs e)
{


}




Select

string mobile = (from m in context.Persons where m.Phone == phone select m.Phone).SingleOrDefault();



Insert

if (Page.IsValid)
{
int age = Convert.ToInt32(txtAge.Text);


KongereRegister.Models.Persons persons = new Models.Persons()
{
Name = txtName.Text,
Family = txtFamily.Text,
Age = age,
State = ddlState.SelectedValue,
Email = txtEmail.Text,
Phone = txtMobile.Text,
Poems = CKEditorControl1.Text,
Education = ddlEducation.SelectedValue,
HowTo = "-",
Sex = ddlSex.SelectedValue
};


context.Persons.Add(persons);
context.SaveChanges();




و ....

پیشناد میکنم تو اینترنت بگردی اموزش هاش رو بینی

kh1387
سه شنبه 24 فروردین 1395, 07:55 صبح
پروژه دارم . حجمش خییلی بالاس نمیتونم آپلود کنم . ببین اول باید 1 دونه مدل از دیتابیست به پروژه اضافه کنی . بعد اول صحه کد ها (قبل از پیج لود) 1 نمونه از اون مدل بسازی (use یادت نره) بعد طبق مثال های زیر عمل کنی . یادت نره حتما از Connection String توی Web.config استفاده کنی که تو هر صفحه مجبور نباشی بنویسیش
Use

using System.Linq;



Object of Database Model

RayyanKongereEntities context = new RayyanKongereEntities();


protected void Page_Load(object sender, EventArgs e)
{


}




Select

string mobile = (from m in context.Persons where m.Phone == phone select m.Phone).SingleOrDefault();



Insert

if (Page.IsValid)
{
int age = Convert.ToInt32(txtAge.Text);


KongereRegister.Models.Persons persons = new Models.Persons()
{
Name = txtName.Text,
Family = txtFamily.Text,
Age = age,
State = ddlState.SelectedValue,
Email = txtEmail.Text,
Phone = txtMobile.Text,
Poems = CKEditorControl1.Text,
Education = ddlEducation.SelectedValue,
HowTo = "-",
Sex = ddlSex.SelectedValue
};


context.Persons.Add(persons);
context.SaveChanges();




و ....

پیشناد میکنم تو اینترنت بگردی اموزش هاش رو بینی

عالی بود. خیلی خوب نوشته و توضیح اده شده