PDA

View Full Version : مشکل در دستور update دیتا بیس در صفحه



mrhamidifar
سه شنبه 27 شهریور 1386, 09:01 صبح
من یه صفحه aspx دارم که وقتی کنترل های صفحه هنگام لود خالی هستند و بعد پر میشموند بوسیله update دیتابیس رو به روز رسانی میکنم و مشکلی نیست ولی هنگامیکه در Page load میگم یک رکورد رو برگردونه و کنترل های صفحه رو پر کنه و بعد اون رو آپدیت کنه این اتفاق نمی افته لطفا راهنمایی کنید !

maxpayn2
سه شنبه 27 شهریور 1386, 09:12 صبح
خیلی خوب توضیح نداده بودی منم حوب نفهمیدم چی میگی ، ولی فکر کنم اگه کد های دیتا بیسی در Page Load رو اینجوری بنویسی حل بشه .




if (!(page.ispostback))
{
your code;
}

mrhamidifar
سه شنبه 27 شهریور 1386, 11:48 صبح
ممنون از جوابت
یه پیج در نظر بگیر که 2 تا TextBox داره 2 هم DropDownList
تویه Page Load گفتم این 4 تا کنترل رو با مقادیری که از sql میخونه پرکنه
یه Button هم دارم که تو رویداد کلیک اون گفتم مقادیر 4 تا کنترل فوق رو رو دیتابیس اپدیت کنه
یعنی یه رکورد رو بخونیم تغییرش بدیم و برگردونیم
مشکل اینجاست که اپدیت نمیکنه قسمتی که برای من گنگه اینه که وقتی رویداد های Page load رو بر میدارم (یعنی 4 تا کنترل خالی هستند ) و اول اون رکورد رو نمیخونن ، آپدیت میشه.
پس چی شد : اگه یه ردیف از تیبل رو بخونم و بعد بخوام آپدیتش کنم نمیشه ولی وقتی که نمی خونمش و فقط میگم اون ردیف رو آپدیت کن مشکلی نیست
ممنون

mrhamidifar
سه شنبه 27 شهریور 1386, 11:59 صبح
این هم کدش


protected void Page_Load(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("Data Source=local;Initial Catalog=mis;Persist Security Info=True;User ID=x;Password=x");
conn.Open();
System.Data.SqlClient.SqlDataReader rdrSlctNc;
string strSlctNc = "SELECT * FROM psm.mis_psm_main_header WHERE (ID = 1000)";
System.Data.SqlClient.SqlCommand commSlctNc = new System.Data.SqlClient.SqlCommand(strSlctNc, conn);

rdrSlctNc = commSlctNc.ExecuteReader();
rdrSlctNc.Read();
txtNo.Text = rdrSlctNc["NC_No"].ToString().Trim();
cboAtt.SelectedValue = rdrSlctNc["AttachID"].ToString();
cboStaus.SelectedValue = rdrSlctNc["StatusID"].ToString();
cboCust.SelectedValue = rdrSlctNc["CustomerID"].ToString();
cboPart.SelectedValue = rdrSlctNc["PartID"].ToString();
cboEntry.SelectedValue = rdrSlctNc["EntryID"].ToString();
rdrSlctNc.Close();
rdrSlctNc.Dispose();
conn.Close();


}
protected void btnUpd_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("Data Source=adminpcserver;Initial Catalog=mis;Persist Security Info=True;User ID=x;Password=x");
System.Data.SqlClient.SqlDataAdapter adptSlctNc = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM psm.mis_psm_main_header WHERE (ID = 1000)", conn);
string strUpdHdr = "UPDATE psm.mis_psm_main_header SET NC_No = '" + txtNo.Text.Trim() + "', AttachID = " + cboAtt.SelectedValue.Trim() + ", StatusID = " + cboStaus.SelectedValue.Trim() + ", CustomerID = " + cboCust.SelectedValue.Trim() + ", PartID = " + cboPart.SelectedValue.Trim() + ", EntryID = " + cboEntry.SelectedValue.Trim() + " WHERE (ID = 1000)";
System.Data.SqlClient.SqlCommand commUpdHdr = new System.Data.SqlClient.SqlCommand(strUpdHdr, conn);
conn.Open();
commUpdHdr.ExecuteNonQuery();
conn.Close();

maxpayn2
چهارشنبه 28 شهریور 1386, 08:28 صبح
ببین دوست عزیز من الا تو اسباب کشی هستم ، قبلا یک صفحه نوشته بودم که تغریبا همین کاری رو که تو میخوای انجام میده ، اون رو ضمیمه میکنم ، امیدوارم کارت راه بیفته .