ورود

View Full Version : مشكل با دستور update



afsaneh.asp
دوشنبه 02 شهریور 1388, 07:49 صبح
سلام
من ميخوام يه فرم دستي درست كنم كه سه عمل insert, update,deleteرو با گذاشتن 3 باتن و تكس باكس هايي كه مقاديرشون از پايگاه داده پر ميشه رو پياده كنم. مشكل اينجاس كه الان اجراي دستور updateمقادير تكس باكس ها رو آپ نميكنه. كد ايونت كليد آپديت رو ميزارم كه اشكال كارمو بهم بگين.
ممنون

//************UPDATE NEWS*******************************
protected void Button1_Click(object sender, EventArgs e)
{
if (Button1.Text == "ويرايش")
{
TextBox6.Enabled = true;
TextBox7.Enabled = true;
TextBox1.Enabled = true;
TextBox8.Enabled = true;
Button1.Text = "ثبت";
}
else if(Button1.Text=="ثبت")
{
SqlCommand editcom = new SqlCommand("update news set title=@title ,abstruct=@abstruct,body=@body,addeddate=@addeddat e where newsid='"+Label2.Text+"'", testnews);
editcom.Parameters.AddWithValue("@Title",TextBox6.Text);
editcom.Parameters.AddWithValue("@abstruct", TextBox7.Text);
editcom.Parameters.AddWithValue("@body", TextBox1.Text);
editcom.Parameters.AddWithValue("@addeddate", TextBox8.Text);
testnews.Open();
editcom.ExecuteNonQuery();
testnews.Close();
Button1.Text = "ويرايش";
TextBox6.Enabled = false;
TextBox7.Enabled = false;
TextBox1.Enabled = false;
TextBox8.Enabled = false;
}

afsaneh.asp
دوشنبه 02 شهریور 1388, 09:45 صبح
منتظرم بچه ها

hobab-theme
دوشنبه 02 شهریور 1388, 11:06 صبح
فکر میکنم مشکلش از اینجا باشه

newsid='"+Label2.Text+"'",
تو #C نمیدونم ولی ما تو وی بی معمولاً این مقادیر رو به صورت پارامتر به کامند میدیم . به صورت زیر :


cmd.parameters.add("@name",lblTest.Text")

و برای نمونه شما :


editcom.parameters.add("@newsid",Lable2.Text)

موفق باشید

IranVisual
دوشنبه 02 شهریور 1388, 11:49 صبح
اگه newsid از نوع string باشه مستونی از ' استفاده کنی اگه از نوع int هست باید ' رو برداری

afsaneh.asp
دوشنبه 02 شهریور 1388, 11:56 صبح
فکر میکنم مشکلش از اینجا باشه

newsid='"+Label2.Text+"'",
تو #C نمیدونم ولی ما تو وی بی معمولاً این مقادیر رو به صورت پارامتر به کامند میدیم . به صورت زیر :


cmd.parameters.add("@name",lblTest.Text")

و برای نمونه شما :


editcom.parameters.add("@newsid",Lable2.Text)

موفق باشید

ممنون ولي با اين روشم كر نميكنه

afsaneh.asp
سه شنبه 03 شهریور 1388, 08:10 صبح
برنامه نويس هاي محترم كسي كمكم نميكنه؟:ناراحت:

farnooshhp
سه شنبه 03 شهریور 1388, 10:21 صبح
یک سوال : شما کجا به تکست باکس ها مقداری که از دیتابیس گرفتید رو دادید؟

آریوس1985
سه شنبه 03 شهریور 1388, 11:19 صبح
sqlcmm.Parameters.Add("@id", SqlDbType.Int).SqlValue = AutoID;
sqlcmm.Parameters.Add("@name", SqlDbType.NVarChar).SqlValue = TypeName;


این رو هم تست کن.اگر کار نکرد با یک BreakPont مطمئن شو که داده ها درست تا اینجا میاد

mitra.m
سه شنبه 03 شهریور 1388, 14:08 عصر
كد update رو اين شكلي بنويس شايد درست شد:
"update news set title='"+TextBox6.Text+"',abstruct='"+TextBox7.Text+"'
,body='"+TextBox1.Text+"',addeddate='"+TextBox8.Text+"' where
newsid='"+Label2.Text+"'"
ميترا
(http://www.kaspid.com (http://www.kaspid.com/))

compute87
سه شنبه 03 شهریور 1388, 21:07 عصر
با سلام
اگه اروری که میده رو اینجا بگذارید بهتر میشه کمکتون کرد و اگه ارور نمی ده به جای label2.text یک عدد بگذارید مثلا 2 و بعد ببینید که اون رکورد مخصوص رو update می کنه یا نه.اگه کرد یعنی اشکال در شرطتون هست و باید شرط رو توی تک کوتیشن نگذارید و به صورت int.parse(label2.text.tostring()) بنویسید.

موفق باشید.