ورود

View Full Version : سوال: ارسال چند کوئری استرینگ و کار نکردن دستور update در اس کیو ال



korosh00
دوشنبه 29 مهر 1392, 12:38 عصر
سلام
من سه تا کوئری استرینگ ارسال کردم به صفحه که شامل آی دی خبر و تیتر خبر و متن خبر است
ولی وقتی دکمه ویرایش که صحیح هم نوشته شده را می زنم هیچ کاری انجام نمیشه
وقتی فقط آی دی را می فرستم و تیتر و متن خبر را نمی فرستم به عنوان کوئری , دکمه ویرایش کارمیکنه
بنظر شما مشکل از کجاست ؟
راه پیشنهادی چیه ؟
ممنون

mohammad973
دوشنبه 29 مهر 1392, 21:07 عصر
کدهاتون ؟
اینطوری که نمیشه نظری داد !!!

korosh00
سه شنبه 30 مهر 1392, 03:58 صبح
این کوئری که ارسال میشه




<asp:HyperLinkID="HyperLink2"runat="server"ForeColor="Blue"





NavigateUrl='<%#String.Format("~/updateva.aspx?idva={0}&titr={1}&edameh={2}", Eval("idva"), Eval("titr"), Eval("edameh"))%>'





style="font-weight: 700"> ویرایش</asp:HyperLink>


اینم در صفحه بعدی در pageload کوئری خوانده میشه


protected












void Page_Load(object sender, EventArgs e)


{








if (Session["myid"] == null)


Response.Redirect(






"Login.aspx");








if (Session["myid"] != null)


Label1.Text = Session[






"myid"].ToString();


Label4.Text= Request.QueryString[






"idva"];


TextBox1.Text = Request.QueryString[

"titr"];

CKEditorControl1.Text = Request.QueryString[

"edameh"];


 




}





این هم دستور مربوط به ویرایش مطلب


string












s3 = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=|DataDirectory|\\site.mdb";








OleDbConnection con = newOleDbConnection(s3);








OleDbCommand cmd = newOleDbCommand();


cmd.CommandText =






"update va set titr='" + TextBox1.Text + "',edameh='" + CKEditorControl1.Text + "'where idva=" + Label4.Text;


cmd.CommandType =






CommandType.Text;


cmd.Connection = con;


con.Open();


cmd.ExecuteNonQuery();


con.Close();

korosh00
سه شنبه 30 مهر 1392, 10:24 صبح
لطفا راهنمایی
ممنون

Mohammad_dn
سه شنبه 30 مهر 1392, 14:12 عصر
سلام...من فقط یه چیز میگم...شما نیاز نیست تمام اطلاعات یک رکورد رو به صورت QueryString به یک صفحه بفرستی...کافیه فقط ID اونو بفرستی...
مثال:

www.site.com/update.aspx?postid=1

حالا مثلا برای بروز رسانی از دستور زیر استفاده میکنیم:



string strConnection = @"Data Source=MOHAMMAD-PC\SQLEXPRESS;Initial Catalog=SiteData;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=Fa lse";
SqlConnection con = new SqlConnection(strConnection);
string strSq = "UPDATE UPost SET Title=@Title, Post=@Post WHERE ID=@ID";
SqlCommand cmd = new SqlCommand(strSq, con);
cmd.Parameters.AddWithValue("@Title", TextBox1.Text);
cmd.Parameters.AddWithValue("@Post", TextBox2.Text);
cmd.Parameters.AddWithValue("@ID", Request.QueryString["Postid"].ToString());

farhud
سه شنبه 30 مهر 1392, 18:25 عصر
شما Evalها را چطوری مقدار دهی می‌کنی؟