PDA

View Full Version : ثبت نشدن داده ها در دیتابیس



najmehdj
یک شنبه 17 بهمن 1389, 11:22 صبح
سلام
من توی برنامه کدارم می نویسم یوزر جدید که تعریف میکنم با موفقیتم در برنامه ثبت میشه می تونم ببینم در برنامه ولی در دیتابیس هیچی ثبت نمیشه
sql 2005 دیتا بیسم رو ساختم

محسن شامحمدی
یک شنبه 17 بهمن 1389, 12:00 عصر
دوست عزیز
اطلاعاتی که شما در dataset دارید و اون ها رو تغییر هم می دید همگی توی Ram هستش.
حالا برای اینکه اطلاعات از روی Ram به دیسک منتقل بشن و توی دیتابیس ذخیره بشه باید از دستور

dataadapter1.update(mydataset);
استفاده کنی.

najmehdj
یک شنبه 17 بهمن 1389, 12:11 عصر
من متوجه نشدم شما چی می گی من قبلا هیچ مشکلی نداشتم و به راحتی اطلاعات ثبت میشد اصلا من دیتاست استفاده نمیکنم

hossin.esm
یک شنبه 17 بهمن 1389, 12:49 عصر
به لینک زیر سر بزنید
http://barnamenevis.org/showthread.php?262834

najmehdj
یک شنبه 17 بهمن 1389, 13:16 عصر
بازم جواب نگرفتم

najmehdj
یک شنبه 17 بهمن 1389, 13:39 عصر
شاید من توی کدم مشکل داشته باشم؟
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\store.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "Insert into [User] (UserName, Password, Name, Semat)VALUES (@UserName, @Password, @Name, @Semat)";
cmd.Parameters.AddWithValue("UserName", txtuser.Text.Trim());
cmd.Parameters.AddWithValue("Password", txtpass.Text.Trim());
cmd.Parameters.AddWithValue("Name", txtname.Text.Trim());
cmd.Parameters.AddWithValue("Semat", txtjob.Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
this.Close();

najmehdj
یک شنبه 17 بهمن 1389, 15:32 عصر
کسی نبود جوابمو بده؟:کف:

abbas.oveissi
یک شنبه 17 بهمن 1389, 16:10 عصر
شاید من توی کدم مشکل داشته باشم؟
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\store.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "Insert into [User] (UserName, Password, Name, Semat)VALUES (@UserName, @Password, @Name, @Semat)";
cmd.Parameters.AddWithValue("UserName", txtuser.Text.Trim());
cmd.Parameters.AddWithValue("Password", txtpass.Text.Trim());
cmd.Parameters.AddWithValue("Name", txtname.Text.Trim());
cmd.Parameters.AddWithValue("Semat", txtjob.Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
this.Close();
منم این مشکل رو داشتم وقتی برنامم رو توی ویژوال استدیو اجرا میکردم،اما بعد که رفتم دیتابیس رو کنار فایل exe قرار دادم و از طریق فایل exe برنامه رو اجرا کردم این مشکل حل شد . توی ویژوال استدیو هر بار که برنامه رو اجرا میکنی یک دیتابیس جدید میسازه

hossin.esm
یک شنبه 17 بهمن 1389, 18:50 عصر
منم این مشکل رو داشتم وقتی برنامم رو توی ویژوال استدیو اجرا میکردم،اما بعد که رفتم دیتابیس رو کنار فایل exe قرار دادم و از طریق فایل exe برنامه رو اجرا کردم این مشکل حل شد . توی ویژوال استدیو هر بار که برنامه رو اجرا میکنی یک دیتابیس جدید میسازه

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

hossin.esm
یک شنبه 17 بهمن 1389, 19:04 عصر
همان طور که دوستمون گفتند exe برنامه را اجرا کنید (با ویژوال استادیو اجرا نکنید )و ببنید اطلاعات ثبت میشه .

abbas.oveissi
یک شنبه 17 بهمن 1389, 19:08 عصر
دیتابیس جدید نمی سازه فقط فایل دیتابیس را از پوشه پروژه به پوشه خروجی کپی میکنه (اون هم زمانی که فایل دیتابیس به پروژه اضافه شده باشه )
میتونید لینک بالا که گذاشتم را مشاهده کنید تا بهتر متوجه بشید

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

hossin.esm
یک شنبه 17 بهمن 1389, 20:57 عصر
چون اطلاعاتی ندارد فکر میکنید پاک میکند اگر اطلاعاتی در ان وارد کنید میبینید که کپی میشود

abbas.oveissi
یک شنبه 17 بهمن 1389, 22:54 عصر
چون اطلاعاتی ندارد فکر میکنید پاک میکند اگر اطلاعاتی در ان وارد کنید میبینید که کپی میشود

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

hossin.esm
یک شنبه 17 بهمن 1389, 23:49 عصر
دوست عزیز برنامه در حال اجرا رکورد ها رو ثبت و پیدا میکنه،اما وقتی میبندیش بعد باز میکنی پاک میشه،نه اینکه اصلا ثبت نشه

منظور من فایل دیتابیس داخل پوشه پروژه(همون فایلی که به پروژه اضافه شده هست ) اطلاعات نداره نه فایل داخل پوشه خروجی
به طور پیش فرض عملکرد به این صورت هست که بعد از اجرا ، فایل دیتابیس به پوشه خروجی کپی میشه و بعد از ان استفاده میکنه و اطلاعات هم در ان درج میشه فقط با اجرای بعدی دوباره کپی میشه و خالی از اطلاعات میشه.

najmehdj
دوشنبه 18 بهمن 1389, 09:06 صبح
ولی من قبلا همچین مشکلی نداشتم این اولین باره که اینطوریه

hossin.esm
دوشنبه 18 بهمن 1389, 09:34 صبح
ولی من قبلا همچین مشکلی نداشتم این اولین باره که اینطوریه

من دقیقا متوجه نشدم مشکلتون حل شد یا نه

najmehdj
دوشنبه 18 بهمن 1389, 10:08 صبح
قبلا من نیاز نداشتم با فایل Exe برنامه رو ران کنم
الان هنوز مشکل ثبت نشدن درمورد یکی از جداول وجود داره و با ثطث هم نشون نمیده

sajjadrad
دوشنبه 18 بهمن 1389, 11:15 صبح
در Property دیتابیس مقدار Copy To Output Directory رو برابر Do Not Copy بذارید...

hossin.esm
دوشنبه 18 بهمن 1389, 11:35 صبح
در Property دیتابیس مقدار Copy To Output Directory رو برابر Do Not Copy بذارید...
این را توی صفحه اول بهشون گفتم.

hossin.esm
دوشنبه 18 بهمن 1389, 11:36 صبح
قبلا من نیاز نداشتم با فایل Exe برنامه رو ران کنم
الان هنوز مشکل ثبت نشدن درمورد یکی از جداول وجود داره و با ثطث هم نشون نمیده

فکر کنم این دیگه مشکل کد باشه.

ali.ghodrati
دوشنبه 18 بهمن 1389, 13:22 عصر
سلام دوست عزیز.کدت رو به این کد تغییر بده.
امیدوارم جواب بده
توی سیستم من مشکلی نداشته و اجرا شده


string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\store.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

string query = "Insert into [User] (UserName, Password, Name, Semat)VALUES (@UserName, @Password, @Name, @Semat)";

SqlConnection Conn = new SqlConnection(connString);

SqlCommand cmd = new SqlCommand(query,connString); Conn.Open();

cmd.Parameters.AddWithValue("@UserName", txtuser.Text.Trim()); cmd.Parameters.AddWithValue("@Password", txtpass.Text.Trim()); cmd.Parameters.AddWithValue("@Name", txtname.Text.Trim()); cmd.Parameters.AddWithValue("@Semat", txtjob.Text.Trim());

cmd.ExecuteNonQuery();

Conn.Close();

daei_honey
شنبه 13 خرداد 1391, 17:26 عصر
سلام بچه ها. من یه فرم ورودی اطلاعات دارم که تو قسمت کدش از Try و casche استفاده کردم.
حالا وقتی میخام اطلاعات دانشجو رو به ثبت برسونم همه قسمت ها رو ذخیره میکنه منتهی وقتی به executenonquery میرسه به فرم لاگین برنامه و پیغام اون بخش رو میده و ثبت نمیکنه؟؟؟
چیکار کنم

daei_honey
شنبه 13 خرداد 1391, 17:28 عصر
آخه مشکل اینجاست که من عکس رو هم با اس کیو ال 2008 میخام ذخیره کنم؟؟؟