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

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

کاربر سایت

moonfa1392

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

مشکل در دستور Update

  • دوشنبه 14 فروردین 1396
  • 23:31
تشکر میکنم

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

کد:

protected void Page_Load(object sender, EventArgs e)
    {DAL run = new DAL();
        DataTable dt = new DataTable();
        string sqltext = string.Format("select * from tbl_blog_comments where id={0}", Request.QueryString["id"]);
        dt = run.ExecuteQuery(sqltext);
        id.Value = dt.Rows[0]["id"].ToString();
        name.Text = dt.Rows[0]["name"].ToString();
        email.Text = dt.Rows[0]["email"].ToString();
        website.Text = dt.Rows[0]["website"].ToString();
        text.Text = dt.Rows[0]["text"].ToString();
        response.Text = dt.Rows[0]["response"].ToString();
        active.Text = dt.Rows[0]["active"].ToString();
        datetime.InnerText = DateTime.Now.ToString("dddd - dd MMMM yyyy");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DAL d1 = new DAL();
        if (Page.IsValid == true)
        {
            string st = string.Format("update tbl_blog_comments set name=N'{0}',email='{1}',website=N'{2}',text=N'{3}',response=N'{4}',active={5} where ID={6}",
            name.Text, email.Text, website.Text, text.Text, response.Text, active.Text, id.Value);
            d1.ExecNonQuery(st);
            alert1.Style["display"] = "block";
        }
        else
        {
            if (name.Text == "")
            {
                form_name.Attributes["class"] = "form-group has-error";
                RequiredFieldValidator2.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (active.Text == "")
            {
                RequiredFieldValidator5.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
            if (text.Text == "")
            {
                RequiredFieldValidator4.Style["display"] = "block";
                alert2.Style["display"] = "block";
            }
        }
    }

ظاهرا همه چیز درسته ارور هم نداره. بعد از ثبت هم پیغام موفقیت میاد اما در دیتابیس آپدیت نمیشه!

مشکل از کجاست؟

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

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

ایمان مدائنی

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

  • سه شنبه 15 فروردین 1396
  • 09:17

Connection را کجا open میکنید ؟

کاربر سایت

moonfa1392

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

  • سه شنبه 15 فروردین 1396
  • 17:51

توی کلاس DAL نوشتمش دیگه استاد!
این کلاس DAL  هست:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Net.Mail;
using System.Globalization;
using System.Reflection;
/// <summary>
/// Summary description for DAL
/// </summary>
public class DAL
{
    public DAL()
    {
        //
        // TODO: Add constructor logic here
        //
    }
    public void ExecNonQuery(string sqltext)
    {
        SqlConnection k = new SqlConnection();
        k.ConnectionString = "Data Source=DESKTOP-EO1RB39;Initial Catalog=k1inusa; Trusted_Connection=True;";
        //k.ConnectionString = "Data Source=localhost;Initial Catalog=safinehi_logoart;Persist Security Info=True;User ID=safinehi_logoart;Password=Wbze6?40";
        k.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = k;
        cmd.CommandText = sqltext;
        cmd.ExecuteNonQuery();
        k.Close();

    }
    public DataTable ExecuteQuery(string sqltext)
    {
        SqlConnection k = new SqlConnection();
        k.ConnectionString = "Data Source=DESKTOP-EO1RB39;Initial Catalog=k1inusa; Trusted_Connection=True;";
        //k.ConnectionString = "Data Source=localhost;Initial Catalog=safinehi_logoart;Persist Security Info=True;User ID=safinehi_logoart;Password=Wbze6?40";
        DataTable dt = new DataTable();
        SqlDataAdapter da = new SqlDataAdapter();
        da.SelectCommand = new SqlCommand();
        da.SelectCommand.Connection = k;
        da.SelectCommand.CommandText = sqltext;
        da.Fill(dt);
        return dt;

    }
}

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 15 فروردین 1396
  • 18:48

به احتمال خیلی زیاد id خالی هست یا معتبر نیست

بررسی کنید ببینید مقدار داره

کاربر سایت

moonfa1392

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

  • سه شنبه 15 فروردین 1396
  • 20:06

ببینید استاد Value=6 هست درواقع id رو هم گرفته!

کاربر سایت

ایمان مدائنی

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

  • چهارشنبه 16 فروردین 1396
  • 09:51

در کد بررسی کنید

شاید ارسال نمیشه

کاربر سایت

moonfa1392

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

  • یکشنبه 20 فروردین 1396
  • 06:35

استاد وقتی به جای استرینگ، دستور سلکت رو عادی با مقادیر دستی می نویسم ثبت میشه اما وقتی که استرینگ میزنم ثبت نمیشه!

پیغام ثبت میاد اما ذخیره نمیشه!

چطور بفهمم مشکلش چیه؟

و اینکه به id هم مربوط نیست. چون id رو دستی هم براش نوشتم ولی تغییری نکرد

کاربر سایت

ایمان مدائنی

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

  • یکشنبه 20 فروردین 1396
  • 10:06

چند جا را باید بررسی کنید

اولین پارامتر ها را بررسی کنید حتما وجود داشته باشند و معتبر باشند

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

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

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

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