PDA

View Full Version : بی ثباتی Database ، حذف اطلاعات Database در هر بار Debug ، کپی دیتابیس خام در هر بار Debug



mojtaba_kz
یک شنبه 22 مرداد 1391, 04:00 صبح
سلام علیکم،

دوستان من زمانی که عملیات ثبت حذف و یا ویرایش را بر روی اطلاعاتم انجام میدم اعمال میشوند ولی پس از بستن برنامه اطلاعات پاک شده و هیچ داده ای ذخیره نمی شود...

مشکل چیست ؟

من چه کار باید بکنم؟؟؟

لطفا راهنمایی بفرمایید

تشکر

h_assefi
یک شنبه 22 مرداد 1391, 09:30 صبح
سلام
بهتره نمونه کدی که اجرا می کنی را بزاری تا ببینیم مشکل از کد هستش یا چیزه دیگه

Mahmoud.Afrad
یک شنبه 22 مرداد 1391, 16:15 عصر
بارها این سوال جواب داده شده.
اگر در زمان دیباگ درج و حذف انجام میشه ، مشکلی نیست و با خیال راحت کارتون رو انجام بدید.
ویژوال استادیو در هر بار دیباگ یک کپی از دیتابیس اصلی را درون پوشه دیباگ کپی میکنه.
این یک مشکل نیست بلکه یک نکته مثبت هست که باعث میشه اطلاعاتی که در دیباگ برای تست وارد دیتابیس می کنید در خروجی نهایی وجود نداشته باشه.
اگر می خواهید اطلاعاتی در دیتابیس اصلی وجود داشته باشه میتونید اطلاعات را درون دیتابیس اصلی قرار بدید

mojtaba_kz
یک شنبه 22 مرداد 1391, 17:21 عصر
بارها این سوال جواب داده شده.
اگر در زمان دیباگ درج و حذف انجام میشه ، مشکلی نیست و با خیال راحت کارتون رو انجام بدید.
ویژوال استادیو در هر بار دیباگ یک کپی از دیتابیس اصلی را درون پوشه دیباگ کپی میکنه.

تشکر از پاسخ شما
ولی زمانی که برنامه کاملا بسته میشه و دوباره اجرا میکنم هیچ اطلاعاتی ذخیره نمی شود

از کد نویسی مطمئن هستم...

حتی زمانی که از طریق نرم افزار SQL داده های جداول رو نگاه می کنم می بینم که هیچ تغییری نکرده اند

veniz2008
یک شنبه 22 مرداد 1391, 17:39 عصر
سلام. وقتی درون sql ذخیره نمیشه قطعا یه جای کارت ایراد داره. کدت رو بذار تا دوستان بهتر بتونن راهنماییت کنن.

mojtaba_kz
یک شنبه 22 مرداد 1391, 17:55 عصر
تشکر از همه دوستان
این کد مربوط به دکمه ثبت می باشد...

SqlCommand cmd = new SqlCommand();
cmd.Connection = Program.cnn;
cmd.CommandText = "insert into part (pid,pname,punit,psize,ptozih) values (@pid,@pname,@punit,@psize,@ptozih)";
cmd.Parameters.AddWithValue("@pid", textBox1.Text.ToString().Trim());
cmd.Parameters.AddWithValue("@pname", textBox2.Text.ToString().Trim());
cmd.Parameters.AddWithValue("@punit", comboBox1.Text.ToString().Trim());
cmd.Parameters.AddWithValue("@psize", comboBox2.Text.ToString().Trim());
//cmd.Parameters.AddWithValue("@puser", textBox5.Text.ToString().Trim());
cmd.Parameters.AddWithValue("@ptozih", textBox4.Text.ToString().Trim());
try
{
Program.cnn.Open();
cmd.ExecuteNonQuery();
}
catch (FormatException)
{
MessageBox.Show("فرمت ورودی اشتباه است");
}
catch (ArgumentException)
{
MessageBox.Show("فیلدها کامل وارد شود");
}
catch (SqlException)
{
MessageBox.Show("خطا اس کیو ال");
}
finally
{
Program.cnn.Close();
Showw();
//textBox1.Text = "";
textBox2.Text = "";
comboBox1.Text = "--------";
comboBox2.Text ="--------";
textBox4.Text ="";
//textBox5.Text = ""; 
plusnumber();
}

mojtaba_kz
یک شنبه 22 مرداد 1391, 18:25 عصر
چرا برای text مربوط به textbox و combobox از tostring استفاده کردی؟!!!! نیازی به tostring نیست.

بله دوست عزیز شما درست میگید...

از سر بی تجربگیه

ولی مشکل از این نیست

mojtaba_kz
یک شنبه 22 مرداد 1391, 19:45 عصر
آقا چند بار بگم. پست های قبلی رو خوندی؟!

بله درسته همونطور که دوستان گفتن اگر برنامه رو از طریق ویژوال ران کنیم بعضا چینین مشکلی خواهیم داشت... برای این کار برنامه اجرایی رو از پوشه دیباگ برنامه باید اجرا کرد.....

اکثر دوستانی هم که با این مشکل روبرو شده بودن فایل های دیتا بیسشون رو در کنار برنامشون قرار داده بودن و حتی خودم ، چون اگر من کانکش اسکریپ رو روی یه دیتابیس در ./sql express تنظیم می کردم با این مشکل رو برو نمی شدم...

این vs2010 زیاد جالب نیست خیلی از جا ها منرو اذیت کرده ....

خلاصه از تمامی دوستان تشکر...

darklady
شنبه 25 شهریور 1391, 19:02 عصر
منم با همچین مشکلی روبرو بودم . در دیباگ داده ها اضافه میشد ولی داده هایی که در محیط اجرایی ویژوال اضافه میشدند لحاظ نمیشد. خیلی وقتم رو گرفت . الان متوجه شدم که مشکل از ورژن 2010 ویژوال هستش نه کد نویسی.

ordebehesht
سه شنبه 23 آبان 1391, 23:21 عصر
ویژال 2008 از این بهتره بخدا من و تو فرم ازیت کرد 2010 که چرته خدا بداد 2012 اگه اونم بد باشه بر میگردم به 2008

vB.N3T
یک شنبه 17 فروردین 1393, 21:01 عصر
سلام دوستان خوبم خسته نباشید

به پروژه ای دارم به مشکل خوردم ممون میشم کمک کنید
بانکش express هست ..
مثلا وقتی کد درج رو مینویسم و چند بار تست میکنم و کامپایل میکنم تو بانک ثبت میشه
وقتی میرم تو پوشه دی باگ و فایل exe رو اجرا میکنم اطلاعاتی که قبلا ثبت کرده بودم پاک شده ؟


یا بر عکس وقتی از فایل exe اطلاعات وارد میکنم و میرم تو سورس برنامه و سرچ میکنم اطلاعات قبل پاک شده و جدید ها ثبت شده
ممنونم راهنمایی کنید...

us1234
یک شنبه 17 فروردین 1393, 21:36 عصر
روی فایل دیتابیس در سولوشن اکسپلورر راست کلیک کن و به پروپرتیس بردید و copy to output را بذارید روی copy always

mhi.iranmanesh
یک شنبه 19 اردیبهشت 1395, 13:30 عصر
سلامT دوستان یه سوال من موقعی که می خوام یه سطری رو به جدولم تو sql اضافه کنم نمی شه و کدی هم که استفاده می کنم اینه:

DataSet1TableAdapters.TableAdapter db = new DataSet1TableAdapters.TableAdapter();
db.Insert(txt_name.Text, int.Parse(txt_price.Text));

بنظرتون مشکل داره؟
یعنی سطرم توی گرید ویو اضافه میشه ولی وقتی برنامرو می بندم باز می کنم سطر اضافه شده دیگه نیست!

mrprestige
یک شنبه 19 اردیبهشت 1395, 20:35 عصر
سلام دوست عزیز ، خب این زبو بسته حق داره این به این خاطره که شما اصلا بهش نگفتید تغییرات زو روی کجا اعمال کنه ( منظورم معرفی نکردید Connection String تون رو ) کد هاتون رو به این صورت تغییر بدید


DataSet ds=new Dataset()
sqlConnection cn=new sqlConnection("کانکشن استرینگ");
SqlDataAdapter da =new SqlDataAdapter("insert into Table1(نام فیلد های مورد نظر) Values( ' "+txt_name.text +" ' , "+txt_price.text+" ", cn);
da.Fill(ds);
datagridview1.datasource=ds;





پیروز و موفق باشید .

mhi.iranmanesh
دوشنبه 20 اردیبهشت 1395, 09:52 صبح
درود بر شما
من کد رو وارد کردم ولی متاسفانه به sqlConnection و SqlDataAdapter گیر می ده و اصلا اونارو در کتابخونه خودش نداره لطفاً راهنماییم کنید.
در ضمن من این کد رو در asp.net C#‎ استفاده کردم و مشکلی نداشت و جواب می داد نمی دونم اینجا چرا توی ویندوز اینطوری شده!
ممنون

AmiN0012
یک شنبه 26 اردیبهشت 1395, 09:39 صبح
اینو اضافه کن به برنامت

using System.Data.SqlClient;