سلام علیکم،
دوستان من زمانی که عملیات ثبت حذف و یا ویرایش را بر روی اطلاعاتم انجام میدم اعمال میشوند ولی پس از بستن برنامه اطلاعات پاک شده و هیچ داده ای ذخیره نمی شود...
مشکل چیست ؟
من چه کار باید بکنم؟؟؟
لطفا راهنمایی بفرمایید
تشکر
سلام علیکم،
دوستان من زمانی که عملیات ثبت حذف و یا ویرایش را بر روی اطلاعاتم انجام میدم اعمال میشوند ولی پس از بستن برنامه اطلاعات پاک شده و هیچ داده ای ذخیره نمی شود...
مشکل چیست ؟
من چه کار باید بکنم؟؟؟
لطفا راهنمایی بفرمایید
تشکر
سلام
بهتره نمونه کدی که اجرا می کنی را بزاری تا ببینیم مشکل از کد هستش یا چیزه دیگه
بارها این سوال جواب داده شده.
اگر در زمان دیباگ درج و حذف انجام میشه ، مشکلی نیست و با خیال راحت کارتون رو انجام بدید.
ویژوال استادیو در هر بار دیباگ یک کپی از دیتابیس اصلی را درون پوشه دیباگ کپی میکنه.
این یک مشکل نیست بلکه یک نکته مثبت هست که باعث میشه اطلاعاتی که در دیباگ برای تست وارد دیتابیس می کنید در خروجی نهایی وجود نداشته باشه.
اگر می خواهید اطلاعاتی در دیتابیس اصلی وجود داشته باشه میتونید اطلاعات را درون دیتابیس اصلی قرار بدید
آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 24 آبان 1391 در 01:07 صبح
سلام. وقتی درون sql ذخیره نمیشه قطعا یه جای کارت ایراد داره. کدت رو بذار تا دوستان بهتر بتونن راهنماییت کنن.
تشکر از همه دوستان
این کد مربوط به دکمه ثبت می باشد...
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();
}
آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 11 آذر 1394 در 17:02 عصر
بله درسته همونطور که دوستان گفتن اگر برنامه رو از طریق ویژوال ران کنیم بعضا چینین مشکلی خواهیم داشت... برای این کار برنامه اجرایی رو از پوشه دیباگ برنامه باید اجرا کرد.....
اکثر دوستانی هم که با این مشکل روبرو شده بودن فایل های دیتا بیسشون رو در کنار برنامشون قرار داده بودن و حتی خودم ، چون اگر من کانکش اسکریپ رو روی یه دیتابیس در ./sql express تنظیم می کردم با این مشکل رو برو نمی شدم...
این vs2010 زیاد جالب نیست خیلی از جا ها منرو اذیت کرده ....
خلاصه از تمامی دوستان تشکر...
منم با همچین مشکلی روبرو بودم . در دیباگ داده ها اضافه میشد ولی داده هایی که در محیط اجرایی ویژوال اضافه میشدند لحاظ نمیشد. خیلی وقتم رو گرفت . الان متوجه شدم که مشکل از ورژن 2010 ویژوال هستش نه کد نویسی.
ویژال 2008 از این بهتره بخدا من و تو فرم ازیت کرد 2010 که چرته خدا بداد 2012 اگه اونم بد باشه بر میگردم به 2008
سلام دوستان خوبم خسته نباشید
به پروژه ای دارم به مشکل خوردم ممون میشم کمک کنید
بانکش express هست ..
مثلا وقتی کد درج رو مینویسم و چند بار تست میکنم و کامپایل میکنم تو بانک ثبت میشه
وقتی میرم تو پوشه دی باگ و فایل exe رو اجرا میکنم اطلاعاتی که قبلا ثبت کرده بودم پاک شده ؟
یا بر عکس وقتی از فایل exe اطلاعات وارد میکنم و میرم تو سورس برنامه و سرچ میکنم اطلاعات قبل پاک شده و جدید ها ثبت شده
ممنونم راهنمایی کنید...
روی فایل دیتابیس در سولوشن اکسپلورر راست کلیک کن و به پروپرتیس بردید و copy to output را بذارید روی copy always
سلامT دوستان یه سوال من موقعی که می خوام یه سطری رو به جدولم تو sql اضافه کنم نمی شه و کدی هم که استفاده می کنم اینه:
DataSet1TableAdapters.TableAdapter db = new DataSet1TableAdapters.TableAdapter();بنظرتون مشکل داره؟
db.Insert(txt_name.Text, int.Parse(txt_price.Text));
یعنی سطرم توی گرید ویو اضافه میشه ولی وقتی برنامرو می بندم باز می کنم سطر اضافه شده دیگه نیست!
سلام دوست عزیز ، خب این زبو بسته حق داره این به این خاطره که شما اصلا بهش نگفتید تغییرات زو روی کجا اعمال کنه ( منظورم معرفی نکردید 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;
پیروز و موفق باشید .
آخرین ویرایش به وسیله mrprestige : یک شنبه 19 اردیبهشت 1395 در 20:48 عصر
درود بر شما
من کد رو وارد کردم ولی متاسفانه به sqlConnection و SqlDataAdapter گیر می ده و اصلا اونارو در کتابخونه خودش نداره لطفاً راهنماییم کنید.
در ضمن من این کد رو در asp.net C# استفاده کردم و مشکلی نداشت و جواب می داد نمی دونم اینجا چرا توی ویندوز اینطوری شده!
ممنون
اینو اضافه کن به برنامت
using System.Data.SqlClient;