PDA

View Full Version : سوال: مشكل در آپديت



sadaf.v
پنج شنبه 23 تیر 1390, 18:03 عصر
با سلام
در ديتابيس يه جدول هست با سه فيلد ايدي و نام و ياداشت آيدي اتونامبره داخل فيلد نام اسم عكسي كه آپلود شده قرار ميگره كه بر اساس آخرين آيدي وارد شده پر ميشه
قسمت اول كد كه يادداشت را درج ميكنه انجام ميشه اما قسمت دوم كه قراره آپديت بشه خطاي زير را ميده
Cannot call methods on nvarchar

اين هم كد برنامه




protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationMa nager.ConnectionStrings["MyProjectConnection"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "insert into picture (note) values (@note)";
cmd.Parameters.Add(new SqlParameter("@note", TextBox1.Text.ToString()));
cmd.ExecuteNonQuery();
cmd.CommandText = "select @@IDENTITY";
string identity = cmd.ExecuteScalar().ToString();
FileUpload1.SaveAs(Request.PhysicalApplicationPath + "picture\\" + identity + ".jpg");
cmd.CommandText = "update picture set name = @identity .jpg where id=" + identity.ToString();
cmd.Parameters.Add(new SqlParameter("@identity", identity.ToString()));
cmd.ExecuteNonQuery();
con.Close();
}

sadaf.v
پنج شنبه 23 تیر 1390, 20:09 عصر
هنوز كه كسي جواب نداده:افسرده:



لطفا اگه كسي ميتونه كه حتما ميتونه يه كمي مرحمت كنه

ricky22
پنج شنبه 23 تیر 1390, 20:16 عصر
سلام.
این تکه کد : update picture set name = @identity .jpg
ایراد دارد.
منظور از این قسمت : @identity .jpg این بوده که پارامتر را به پسوند الحاق کنید ؟

sadaf.v
پنج شنبه 23 تیر 1390, 20:28 عصر
بله ميخوام اون پارامتر را با پسوند تصوير داخل فيلد درج كنم
ايرادش چيه؟؟

Legend M.A.R
پنج شنبه 23 تیر 1390, 21:54 عصر
دوست عزیز یه کاری دیگه هم بکن شاید از این باشه
cmd.Parameters.Clear()
بیشتر وقت ها درد سر من اینه که پارامتر هایی رو که توی کوئری قبلی استفاده کردم پاک نکردم, این رو از این جهت میگم که پارامتر @note در کوئری دوم شما نبود
فکر کنم این رو هم باید به صورت دیگه ای بنویسی
cmd.Parameters.Add(new SqlParameter("@identity", identity.ToString()));
cmd.Parameters.Add(new SqlParameter("@identity", string.Format("{0}.jpg", identity.ToString())));
و کوئری رو به این تغییر بدی
cmd.CommandText = string.Format("update picture set name = @identity where id={0}", identity);

sadaf.v
شنبه 25 تیر 1390, 08:59 صبح
سلام
خيلي ممنون از راهنايي كه كردي
تغييراتي كه گفتيد را انجام دادم درست شد