PDA

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



hesampersian
شنبه 09 مهر 1390, 18:57 عصر
دوستان من یک مشکل اساسی دارم اون هم اینکه وقتی مقدار insert میکنم تا زمانی که داخل برنامه هستم و فرم اصلی رو نبستم داخل gridview نمایش میده اطلاعات درج شده رو اما وقتی از برنامه خارج میشم و میرم دیتابیس رو چک می کنم هیچ تغییری نکرده!!
یک برنامه هم از فروم گرفتم همین مشکل رو داشت من شک دارم به سرویس های sql ممکنه ربط داشته باشه ؟!

آخه یکی از سرویس هارو هر کار می کنم start نمیشه و ارور میده ( Sql Server Agent(sqlexpress( )!


http://axgig.com/images/37940621014802815194.jpg


اینم کد :

string s1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath +
@"\db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection(s1);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();

da.SelectCommand = new SqlCommand("insert into groups (name) values('" + textBox1.Text + "')", con);
con.Open();
da.SelectCommand.ExecuteNonQuery();
con.Close();


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

rezaei manesh
شنبه 09 مهر 1390, 19:37 عصر
استارت نشدن این Sql Server Agent مشکلی رو ایجاد نمی کنه اون برای کار های برنامه ریزی شده مثل پشتیبان خودکار هست
اما


Dim cnndatabase As New SqlConnection(s1)
Dim Cmd As SqlCommand
Cmd = New SqlCommand("insert into groups (name) values('" + textBox1.Text + "')", cnndatabase)
Cmd.CommandType = CommandType.Text

If cnndatabase.State = ConnectionState.Closed Then cnndatabase.Open()
Cmd.ExecuteNonQuery()

rangin
شنبه 09 مهر 1390, 22:07 عصر
سلام من هم یه مشکلی دارم اگه حلش کنید ممنون میشم
این خطاییه که هنگام درج به من میده
76109

اینم کدیه که توی c# نوشتم فکر می کنید اشکال کار از کجاست

SqlCommand com = new SqlCommand("insert into hesab (name,code,hesab,kart,money,address,saheb,eftetah) values (N'" + textBox1.Text +"','" + Int64.Parse(textBox2.Text) + "','" + Int64.Parse(textBox3.Text) + "','" + Int64.Parse(textBox4.Text) + "','" + Int64.Parse(maskedTextBox1.Text) + "',N'" + textBox5.Text + "',N'" + textBox6.Text + "''" + maskedTextBox2.Text + "')", conn)

hesampersian
شنبه 09 مهر 1390, 22:30 عصر
آقای رضایی اون هم انجام دادم فایده نکرد و همون مشکل هست یعنی تا داخل برنامه هست اطالاعات هستند اما بعد از خروج می پرند !! انگار که داخل یک دیتابیس Temp باشه!!!!
حتی ویندوز و دات نت جدید ریختم اما بازم همون مورد :(

hesampersian
شنبه 09 مهر 1390, 23:11 عصر
دوست عزیز فرم که قفط شامل یک گریدویو و تکست باکس و دکمه هست
کد رویداد دکمه هم که باید insert رو انجام بده گذاشتم پست اول :(

hesampersian
یک شنبه 10 مهر 1390, 09:36 صبح
ممنون از دوستان
مشکل حل شد می دونید از کجا بود! من از خود ویژوال استدیو یک بانک mdf ادد کرده بودم و تو همون محیط هم جداول و ارتباطات رو ساخته بودم . و برای همین بود اطلاعات در بانک اصلی ذخیره نمیشد و حالت موقت در برنامه ذخیره بودند ..
برای همین رفتم محیط SQL Server Management Studio و اونجا بانک رو ساختم کامل و فقط در پنجره Servers ویژوال Attach اش کردم :)

cherchil_hra
یک شنبه 10 مهر 1390, 11:00 صبح
اگه برنامه ات رو از پوشه دیباگ اجرا بکنی (چندبار) می بینی که اطلاعاتت سرجاش هست.

مشکلت این بوده که هربار که برنامه ات رو اجرا می کردی بانکت رو (بانک خالیت رو) کپی می کرده. بنابراین اطلاعات در هردفعه اجرا پاک میشه

توی برنامه خاصیت Copy to Output بانکت رو از copy always روی گزینه copy if newer بذار. اینجوری هردفعه، بانکی که اطلاعات جدید داره رو کپی می کنه!

hesampersian
یک شنبه 10 مهر 1390, 13:14 عصر
ممنون از پاسخت راستی دوست عزیز خاصیت Copy to Output کجا هست؟

cherchil_hra
یک شنبه 10 مهر 1390, 20:26 عصر
توی پروژه ات قسمت solution روی بانکت که به برنامه ات اضافه شده کلیک کن. پنجره خواصش این property رو می بینی

rangin
دوشنبه 11 مهر 1390, 11:48 صبح
arngin جان ارور میگیه که شما بیشتر از اون چیزی که تو دیتا بیس داری داری بهش پاس میدی ببین همین calume ها رو تو دیتابیس داری شاید املاشو درست نزدی اونو چک کن

ممنون دوست عزیز ولی من توی یه سایت خارجی جستجو کردم و می گفت که باید طول این رشته کمتر از 128 بیت باشه اما از این مقدار تجاوز کرده آیا شما راه حلی ندارید؟

mahan206
یک شنبه 24 خرداد 1394, 15:48 عصر
بابا اصلا داده ها ذخیره نمیشن اعصابمو خورد کرده