PDA

View Full Version : مشکل اساسی در بانک



ya ali
پنج شنبه 20 اسفند 1388, 14:23 عصر
با سلام خدمت دوستان
من برنامه ای درست کردم و برای آن یه بانک اطلاعاتی sql ساختم که داخل پروزه ام قرار گرفته وقتی برنامه را اجرا میکنم و با کدهای مربوطه اطلاعاتی را به بانک وارد می کنم و بعد به صورت مستقل بانک را می بینم هیچ مشکلی وجود نداره و اطلاعات به درستی وارد شده است ولی برنامه را می بندم و دوباره اجرا می کنم و بانک را مشاهده میکنم انگار هیچ اطلاعاتی وارد نشه است و تغیرات اعمال نشده خلاصه تا وقتی برنامه در حال اجراست اطلاعات به درستی تبادل میشه ولی برنامه را بسته و دوباره چک میکنم تمام اطلاعات پاک شده است.
ادرس:
@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SM.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
کد ورود اطلاعات :
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Insert Into ghhk (book) Values ('" + tb1.Text + "')", ad);
da.Fill(dt);

البته یکی از دوستان گفت که بهتره خاصیت copy to Output Directory را به copy if newer تغییر بدم ولی این روش کاملا مشکل رو حل نمی کنه و بعضی مواقع کل بانک پاک میکنه و یا اصلا جواب نمی ده

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

beh_develop
پنج شنبه 20 اسفند 1388, 14:27 عصر
با سلام خدمت دوستان
من برنامه ای درست کردم و برای آن یه بانک اطلاعاتی sql ساختم که داخل پروزه ام قرار گرفته وقتی برنامه را اجرا میکنم و با کدهای مربوطه اطلاعاتی را به بانک وارد می کنم و بعد به صورت مستقل بانک را می بینم هیچ مشکلی وجود نداره و اطلاعات به درستی وارد شده است ولی برنامه را می بندم و دوباره اجرا می کنم و بانک را مشاهده میکنم انگار هیچ اطلاعاتی وارد نشه است و تغیرات اعمال نشده خلاصه تا وقتی برنامه در حال اجراست اطلاعات به درستی تبادل میشه ولی برنامه را بسته و دوباره چک میکنم تمام اطلاعات پاک شده است.
ادرس:
@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SM.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
کد ورود اطلاعات :
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand("Insert Into ghhk (book) Values ('" + tb1.Text + "')", ad);
da.Fill(dt);

البته یکی از دوستان گفت که بهتره خاصیت copy to Output Directory را به copy if newer تغییر بدم ولی این روش کاملا مشکل رو حل نمی کنه و بعضی مواقع کل بانک پاک میکنه و یا اصلا جواب نمی ده

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


دوست عزیز بهتره خاصیت copy to Output Directory رو به never تغییر بدی و هر وقت خواستی دیتابیس رو تغییر بدی از پوشه bin این کار رو بکنی

ya ali
پنج شنبه 20 اسفند 1388, 14:32 عصر
دوست عزیز بهتره خاصیت copy to Output Directory رو به never تغییر بدی و هر وقت خواستی دیتابیس رو تغییر بدی از پوشه bin این کار رو بکنی

یعنی چی تغییر بدم

slashslash2009
پنج شنبه 20 اسفند 1388, 14:45 عصر
strSQL = "Insert INTO table_name(name,code)values(@nm,@cd)";
con.Open();
com = new SqlCommand(strSQL, con);
com.Parameters.Add("@nm", SqlDbType.Char).Value = textBox16.Text;
com.Parameters.Add("@cd", SqlDbType.Char).Value = max2;
com.ExecuteNonQuery();
con.Close();
میتونی از پارامتر هم استفاده نکنی

hakelberfin
پنج شنبه 20 اسفند 1388, 17:00 عصر
دوست عزیز کدی که شما نوشتید باید هم اطلاعاتی در بانک ذخیره نکنه!
شما در کدتون هیچ دستوری رو جهت ذخیره کردن در بانک اجرا نمی کنید.
شما فقط دارین روی یه DataTable تغییرات رو اعمال میکنید.
اگه کد slashslash2009 رو اجرا کنید حتما جواب میگیرید

ya ali
پنج شنبه 20 اسفند 1388, 20:39 عصر
آقا شرمنده پس چطور همین کد رو برای افزودن اطلاعاتی که بانک آن به سرور متصل است و در کنار برنامه قرار نداره به کار میبرم اطلاعات به درستی تبادل می شوند و مشکلی نداره؟

ya ali
پنج شنبه 20 اسفند 1388, 20:57 عصر
آقای slash اگه ممکنه توضیحی در رابطه با این کد بدید ممنون میشم یا علی

slashslash2009
پنج شنبه 20 اسفند 1388, 21:58 عصر
دوست من روش ارسال پارامتر یکی از بهترین روشهاست مخصوصا برای ساخت نرم افزارهای فارسی nm@ و cd@ نام پارامترهامونه . روش خودتون هم اگر در آخرش ExecuteNonQuery(); میزاشتی درج میکرد و مشکلی نداشت