PDA

View Full Version : سوال: ذخیره شدن مداوم اطلاعات ....



omid6630
دوشنبه 22 اسفند 1390, 20:54 عصر
به نام خدا و سلام
تو صفحه ی مدیریت اطلاعات چندین Textbox وجود داره که کاربر بوسیله ی اونا اطلاعات رو ذخیره میکنه .
وقتی برای بار اول که اطلاعات رو ذخیره میکنم - بعد از ذخیره سازی اگه یک مرتبه صفحه رو Refresh کنم ، باز همون اطلاعات از دوباره ذخیره میشن - یعنی یک رکورد جدید تو دیتابیس ثبت میشه .

چطوری این مشکل رو حل کنم .

متشکرم

mahan.2002
سه شنبه 23 اسفند 1390, 00:26 صبح
سلام
شما اگر کد تون رو بزارید بهتر میشه راهنمایتون کرد.

omid6630
سه شنبه 23 اسفند 1390, 08:20 صبح
سلام
شما اگر کد تون رو بزارید بهتر میشه راهنمایتون کرد.



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindMaddahiGrid();
BindSokhanraniGrid();
}
}





protected void btnMddSave_Click(object sender, EventArgs e)
{
string maddahi = "";
//try
//{
if (FileMaddahi.HasFile)
{
maddahi = FileMaddahi.FileName;
FileMaddahi.SaveAs(Server.MapPath("../Maddahi\\") + maddahi);
}
string insertgrid = "insert into Maddahi (Ma_Program,Ma_Date,Mo_Place,Ma_Section,Ma_Name,Ma _File)values(@Ma_Program,@Ma_Date,@Mo_Place,@Ma_Se ction,@Ma_Name,@Ma_File)";
SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand cmd = new SqlCommand(insertgrid, cnn);
cmd.Parameters.AddWithValue("@Ma_Program", txtMddProgram.Text);
cmd.Parameters.AddWithValue("@Ma_Date", txtMddDate.Text);
cmd.Parameters.AddWithValue("@Mo_Place", txtMddPlace.Text);
cmd.Parameters.AddWithValue("@Ma_Section", txtMddSection.Text);
cmd.Parameters.AddWithValue("@Ma_Name", txtMddName.Text);
cmd.Parameters.AddWithValue("@Ma_File", maddahi);
//cmd.Parameters.AddWithValue("@Download", txtDownload.Text);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();

cleartextbox();
BindMaddahiGrid();
lblMadd.Text = "اطلاعات با موفقیت ذخیره شد";
// }
// catch (Exception ex)
// {
// Response.Write("<script>alert('لطفا اطلاعات را صحیح وارد کنید ')</script>");
// }
}

mehrdad85
سه شنبه 23 اسفند 1390, 08:30 صبح
سلام
دوست عزیز اینطور که من دستگیرم شد ما عمل insert داخل database را در رویداد load صفحه نوشتید که با هر بار load شدن صفحه یا refresh شدن اون عمل ذخیره سازی مجدد انجام میشه
من کد شما را ندیدم نمیتونم قضاوت کنم که آیا جای درستی نوشتید عمل ذخیره سازی را یا نه اما میتونم اینو بهتون پیشنهاد بدم که اگه نیازه که داخل رویداد page load عمل ذخیره سازی انجام بشه قبلش اگه چک بکنی که داده قبلا ذخیره نشده باشه و بعدا ذخیره کنی خیلی خوبه البته بعید میدونم که نیاز باشه که داخل page load ذخیره سازی انجام بشه بهر حال برنامه نویس شما هستی و شما تععین میکنی که کجا کد بزنی


مشکلی بود هستم در خدمتتون
موفق باشید

mehrdad85
سه شنبه 23 اسفند 1390, 08:31 صبح
دوست عزیز عمل bind را دخل page load انجام نده

omid6630
سه شنبه 23 اسفند 1390, 08:39 صبح
سلام
دوست عزیز اینطور که من دستگیرم شد ما عمل insert داخل database را در رویداد load صفحه نوشتید


متشکرم .
برعکس من این کار رو نمیکنم . کدی که نوشتم مربوط به رویداد click مربوط به دکمه ی btnMddSave است .

در PageLoad هم چیزی نوشته نشده .2 تا تابع هستن برای Bind کردن اطلاعات به گرید ویو .
فقط یک Select ساده داره از دیتابیس اون هم برای نمایش اطلاعات داخل Gridview.

چرا بعد از بار اولی که داده ها ذخیره میشن ، اگر صفحه رو رفرش کنم ، از دوباره همون اطلاعات ذخیره میشن ، در حالی که Textbox ]ها هم خالی هستن .

fakhravari
سه شنبه 23 اسفند 1390, 10:15 صبح
تا جایی که من میدونم
چون EnableViewState همواره true است و شما هر بار refresh مقدار قبلی میگیرید.
یه Response.Redirect(""); بزنید به همان صفحه مقادیر حذف میشوند.

omid6630
سه شنبه 23 اسفند 1390, 10:30 صبح
تا جایی که من میدونم
چون EnableViewState همواره true است و شما هر بار refresh مقدار قبلی میگیرید.
یه Response.Redirect(""); بزنید به همان صفحه مقادیر حذف میشوند.


جاداره که 100 تا تشکر کنم .
درست شد . متشکرم .