مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

moonfa1392

عضویت از 1394/08/17

ایراد کد کجاست؟

  • جمعه 27 اسفند 1395
  • 05:53
تشکر میکنم

سلام وقتتون بخیر

ایراد این کد از کجاست که آپدیت نمیکنه؟

عکس آپلود میشه اما سطر توی دیتابیس آپدیت نمیشه!

    string connectionstring = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
    protected void Page_Load(object sender, EventArgs e)
    {
        DAL run = new DAL();
        DataTable dt = new DataTable();
        string sqltext = string.Format("Select * From tbl_content Where ID={0} ", Request.QueryString["id"]);
        dt = run.ExecuteQuery(sqltext);
        id.Value = dt.Rows[0]["id"].ToString();
        title.Text = dt.Rows[0]["title"].ToString();
        description.Text = dt.Rows[0]["description"].ToString();
        text.Text = dt.Rows[0]["text"].ToString();
        keywords.Text = dt.Rows[0]["keywords"].ToString();
        active.Text = dt.Rows[0]["active"].ToString();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DAL d1 = new DAL();
        if (Page.IsValid == true)
        {
            string fid = Convert.ToString(id.Value);
            string ftitle = Convert.ToString(title.Text);
            string fdescription = Convert.ToString(description.Text);
            string ftext = Convert.ToString(text.Text);
            string fkeywords = Convert.ToString(keywords.Text);
            string fdateupdate = DateTime.Now.ToString("dd MMMM yyyy");
            string factive = Convert.ToString(active.Text);
            if (picture.HasFile)
            {
                string ImageName = picture.PostedFile.FileName;
                string filePath = Server.MapPath("~/picture/" + ImageName);
                picture.SaveAs(filePath);
                using (var con = new SqlConnection(connectionstring))
                {
                    try
                    {
                        string commandText = string.Format("update tbl_content set title=N'{0}',description=N'{1}',text=N'{2}',keywords=N'{3}',dateupdate={4},active={5},picture=N'{6}' where id={7}) values ('" + ftitle + "','" + fdescription + "','" + ftext + "','" + fkeywords + "','" + fdateupdate + "','" + factive + "','picture/" + ImageName + "','" + fid +"')");
                        var com = new SqlCommand(commandText, con);
                        con.Open();
                        int result = com.ExecuteNonQuery();
                        if (result > 0)
                        {
                            alert1.Style["display"] = "block";
                            RequiredFieldValidator2.Style["display"] = "none";
                        }
                        else
                        {
                            alert2.Style["display"] = "block";
                        }
                    }
                    catch (Exception ex)
                    {

                    }
                }
            }
            else
            {
                lblMessage.Style["display"] = "block";
            }
        }
        else
        {
            if (title.Text == "")
            {
                form_title.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator2.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (keywords.Text == "")
            {
                form_keywords.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator3.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (description.Text == "")
            {
                form_description.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator4.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (text.Text == "")
            {
                RequiredFieldValidator1.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (active.Text == "")
            {
                RequiredFieldValidator5.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (picture.PostedFile.FileName == "")
            {
                lblMessage.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
        }
    }

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 27 اسفند 1395
  • 10:14

شما Try و Catch بردار تا اگه خطایی داره مشخص بشه

به احتمال زیاد در Execute خطایی وجود دارد

کاربر سایت

اوبالیت

عضویت از 1392/08/24

  • جمعه 27 اسفند 1395
  • 13:53

هرچی هست به اون متغیر fid که تعریف کردید مربوط میشه. از طرفی اومدید از id.value گرفتید که فکر می کنم یک HiddenField باشه در حالیکه از اون طرف با QueryString اومدید Id رو پاس دادید که یه کار اضافه هست. صد در صد تو دستور SQL که نوشتید و از Parameters هم توش استفاده نکردید، مشکلی وجود داره.

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • جمعه 27 اسفند 1395
  • 18:06

من try و catch رو برداشتم این ارور رو میده:

خب اگر با QueryString آی دی رو شناسایی نکنم راه دیگه ای نداره که :|

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • جمعه 27 اسفند 1395
  • 18:23

کد رو به این صورت ادیت کردم :

string connectionstring = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
    protected void Page_Load(object sender, EventArgs e)
    {
        DAL run = new DAL();
        DataTable dt = new DataTable();
        string sqltext = string.Format("Select * From tbl_content Where ID={0} ", Request.QueryString["id"]);
        dt = run.ExecuteQuery(sqltext);
        id.Value = dt.Rows[0]["id"].ToString();
        title.Text = dt.Rows[0]["title"].ToString();
        description.Text = dt.Rows[0]["description"].ToString();
        text.Text = dt.Rows[0]["text"].ToString();
        keywords.Text = dt.Rows[0]["keywords"].ToString();
        active.Text = dt.Rows[0]["active"].ToString();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (Page.IsValid == true)
        {
            DAL d1 = new DAL();
            if (picture.HasFile)
            {
                string ImageName = picture.PostedFile.FileName;
                string filePath = Server.MapPath("~/picture/" + ImageName);
                picture.SaveAs(filePath);
                using (var con = new SqlConnection(connectionstring))
                {
                    string commandText = string.Format("update tbl_content set title=N'{0}',description=N'{1}',text=N'{2}',keywords=N'{3}',dateupdate=N'{4}',active={5},picture=N'{6}' where id={7}", title.Text, description.Text, text.Text, keywords.Text, DateTime.Now.ToString("dd MMMM yyyy"), active.Text,"picture/" + ImageName ,id.Value);
                    var com = new SqlCommand(commandText, con);
                    con.Open();

                    int result = com.ExecuteNonQuery();
                    if (result > 0)
                    {
                        alert1.Style["display"] = "block";
                        RequiredFieldValidator2.Style["display"] = "none";
                    }
                    else
                    {
                        alert2.Style["display"] = "block";
                    }
                }
            }
            else
            {
                lblMessage.Style["display"] = "block";
            }
        }
        else
        {
            if (title.Text == "")
            {
                form_title.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator2.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (keywords.Text == "")
            {
                form_keywords.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator3.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (description.Text == "")
            {
                form_description.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator4.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (text.Text == "")
            {
                RequiredFieldValidator1.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (active.Text == "")
            {
                RequiredFieldValidator5.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (picture.PostedFile.FileName == "")
            {
                lblMessage.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
        }
    }

این ارور رو میده:

کاربر سایت

اوبالیت

عضویت از 1392/08/24

  • جمعه 27 اسفند 1395
  • 22:55

گفتم که هر اشکالی دارید تو قست دستور SQL دارید. چون نوشتید DateTime.Now.ToString("dd MMMM yyyy") در حالیکه تو دیتابایس شما DateTime دارید. این قسمت کد رو تبدیل کنید به DateTime.Now

حتما عوض کنید و از Paramaters ها برای ارسال مقدار استفاده کنید.

کاربر سایت

moonfa1392

عضویت از 1394/08/17

  • شنبه 28 اسفند 1395
  • 00:09

نه مشکل از اون نبود!

چون من کلا Dateupdate رو حذفش هم کردم همچنان ارور میده:

string connectionstring = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
    protected void Page_Load(object sender, EventArgs e)
    {
        DAL run = new DAL();
        DataTable dt = new DataTable();
        string sqltext = string.Format("Select * From tbl_content Where ID={0} ", Request.QueryString["id"]);
        dt = run.ExecuteQuery(sqltext);
        id.Value = dt.Rows[0]["id"].ToString();
        title.Text = dt.Rows[0]["title"].ToString();
        description.Text = dt.Rows[0]["description"].ToString();
        text.Text = dt.Rows[0]["text"].ToString();
        keywords.Text = dt.Rows[0]["keywords"].ToString();
        active.Text = dt.Rows[0]["active"].ToString();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DAL d1 = new DAL();
        if (Page.IsValid == true)
        {
            string fid = Convert.ToString(id.Value);
            string ftitle = Convert.ToString(title.Text);
            string fdescription = Convert.ToString(description.Text);
            string ftext = Convert.ToString(text.Text);
            string fkeywords = Convert.ToString(keywords.Text);
            string factive = Convert.ToString(active.Text);
            if (picture.HasFile)
            {
                string ImageName = picture.PostedFile.FileName;
                string filePath = Server.MapPath("~/picture/" + ImageName);
                picture.SaveAs(filePath);
                using (var con = new SqlConnection(connectionstring))
                {
                    string commandText = string.Format("update tbl_content set title=N'{0}',description=N'{1}',text=N'{2}',keywords=N'{3}',active={4},picture=N'{5}' where id={6}) values ('" + ftitle + "','" + fdescription + "','" + ftext + "','" + fkeywords + "','" + factive + "','picture/" + ImageName + "','" + fid + "')");
                    var com = new SqlCommand(commandText, con);
                    con.Open();
                    int result = com.ExecuteNonQuery();
                    if (result > 0)
                    {
                        alert1.Style["display"] = "block";
                        RequiredFieldValidator2.Style["display"] = "none";
                    }
                    else
                    {
                        alert2.Style["display"] = "block";
                    }
                }
            }
            else
            {
                lblMessage.Style["display"] = "block";
            }
        }
        else
        {
            if (title.Text == "")
            {
                form_title.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator2.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (keywords.Text == "")
            {
                form_keywords.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator3.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (description.Text == "")
            {
                form_description.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator4.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (text.Text == "")
            {
                RequiredFieldValidator1.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (active.Text == "")
            {
                RequiredFieldValidator5.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (picture.PostedFile.FileName == "")
            {
                lblMessage.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
        }
    }

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 28 اسفند 1395
  • 09:47

مشکل در کوئری هست

در sql قرار دهید و مقادیر را پر کنید و اجرا کنید تا خطای اصلی مشخص شود

کاربر سایت

اوبالیت

عضویت از 1392/08/24

  • شنبه 28 اسفند 1395
  • 10:56

مشکل همون بود. DateUpdate رو حذف کردید و الان خطای شما عوض شد. خطای شما الان به تعداد پارامترها مربوط میشه. شما دارید بیشتر از تعدادی که مشخص کردید مقدار ارسال می کنید. از روش Parameters استفاده کنید.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)