نمایش نتایج 1 تا 12 از 12

نام تاپیک: C#‎ و ارتباط از طریق App.config

  1. #1

    C#‎ و ارتباط از طریق App.config

    با سلام

    من پروژه تحت ویندوز دارم می نویسم و فایل app.config اضافه کردم و در connection string مسیر پایگاه داده را |dataDirectory|/db.mdf گذاشتم
    هم با LINQ و هم بدون آن کار میکنه ولی مشکل اینه که مثلا داده جدید که ثبت میشه وارد جدول های بانک اطلاعاتی نمیشه تا زمانی که برنامه باز هست داده هایی را که جدید وارد کردم نمایش میده ولی برنامه که بسته بشه و دوباره باز بشه هیچ کدام نیستن
    datadirectory رو که بردارم مسیر بانک رو بذارم درست کار میکنه
    چکار کنم برای حل این موضوع که با datadirectory هم کار کنه
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 16 آذر 1394 در 20:48 عصر

  2. #2
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: C#‎ و ارتباط از طریق App.config

    سلام connectionString باضافه کد Insert رو بزار تا ببینیم مشکل از کجاست
    First,solve the problem then write the code

  3. #3

    نقل قول: C#‎‎ و ارتباط از طریق App.config

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    سلام connectionString باضافه کد Insert رو بزار تا ببینیم مشکل از کجاست


    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|Datadirector y|\Clinical.mdf;Integrated Security=True;User Instance=True;Context Connection=False"

    که این کد در app.config نوشتم

    این کد ها را هم روی دکمه ذخیره نوشتم


    SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrin gs["con"].ConnectionString);
    var dbUser = new DataAccess.myDataLinDataContext(cnn);
    DataAccess.User _user = new DataAccess.User()
    {
    LastName= textBox2.Text, firstName= textBox1.Text, type =textBox3.Text, UserName="admin", Password="admin"



    };
    dbUser.Users.InsertOnSubmit(_user);
    dbUser.SubmitChanges();
    dataGridView1.DataSource = dbUser.Users;
    آخرین ویرایش به وسیله ژیار رحیمی : دوشنبه 16 آذر 1394 در 20:28 عصر

  4. #4

    نقل قول: C#‎ و ارتباط از طریق App.config

    نقل قول نوشته شده توسط farzaneh1073 مشاهده تاپیک
    با سلام

    من پروژه تحت ویندوز دارم می نویسم و فایل app.config اضافه کردم و در connection string مسیر پایگاه داده را |dataDirectory|/db.mdf گذاشتم
    هم با LINQ و هم بدون آن کار میکنه ولی مشکل اینه که مثلا داده جدید که ثبت میشه وارد جدول های بانک اطلاعاتی نمیشه تا زمانی که برنامه باز هست داده هایی را که جدید وارد کردم نمایش میده ولی برنامه که بسته بشه و دوباره باز بشه هیچ کدام نیستن
    datadirectory رو که بردارم مسیر بانک رو بذارم درست کار میکنه
    چکار کنم برای حل این موضوع که با datadirectory هم کار کنه
    دوست عزیز مشکل این هستش احتمالا برنامه داره دیتابیس رو از کنار فایل اجرای میخونه یعنی موقعی که برنامه اجرا میشه دیتابیس کپی میشه در مسیر فایل اجرا به همین خاطر شما موقع اجرا اول داده ندارید برنامه خام می باشد و اطلاعات وارد میکنید همون دقیقه مشاهده میکنید ولی برای بار دوم برنامه رو اجرا میکنید دیتابیس رو از کنار فایل اجرای باز پاک کرده و دوباره ایجاد میکنه و میبینید داده های که قبلا وارد کردید نمی باشد این به این خاطر می باشد که دیتابیس از کنار فایل اجرای خونده میشه نه از مسیری که تایین کردید. و به همین خاطر در هر بار اجرا میبنید دیتابیس صفر شده و داده ها از بین رفته

  5. #5

    نقل قول: C#‎ و ارتباط از طریق App.config

    نقل قول نوشته شده توسط davidrobert مشاهده تاپیک
    دوست عزیز مشکل این هستش احتمالا برنامه داره دیتابیس رو از کنار فایل اجرای میخونه یعنی موقعی که برنامه اجرا میشه دیتابیس کپی میشه در مسیر فایل اجرا به همین خاطر شما موقع اجرا اول داده ندارید برنامه خام می باشد و اطلاعات وارد میکنید همون دقیقه مشاهده میکنید ولی برای بار دوم برنامه رو اجرا میکنید دیتابیس رو از کنار فایل اجرای باز پاک کرده و دوباره ایجاد میکنه و میبینید داده های که قبلا وارد کردید نمی باشد این به این خاطر می باشد که دیتابیس از کنار فایل اجرای خونده میشه نه از مسیری که تایین کردید. و به همین خاطر در هر بار اجرا میبنید دیتابیس صفر شده و داده ها از بین رفته

    من کدها رو نوشتم میشه با توجه به کدها بگید باید چکار کنم؟

  6. #6
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: C#‎ و ارتباط از طریق App.config

    چرا کانکشن رو پاس کردی به کلاس myDataLinDataContext ؟
    شما به احتمال زیاد در فایل app.config دوتا ConnectionString وجود دارد.بررسی کن
    شما خط 1 کد بالا رو حذف و خط 2 رو به این صورت اصلاح کن

    var dbUser = new DataAccess.myDataLinDataContext();

    موقعی که شما Linq2Sql رو به پروژ اضافه میکنی در حالت ویزارد کانکشن استرینگ رو در app.config اضافه میکند. برای نمونه سازی از کلاس myDataLinDataContext لازم نیست شما connection بهش پاس کنی ،از ConnectionString پیش فرض استفاده میکند
    First,solve the problem then write the code

  7. #7

    نقل قول: C#‎ و ارتباط از طریق App.config

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    چرا کانکشن رو پاس کردی به کلاس myDataLinDataContext ؟
    شما به احتمال زیاد در فایل app.config دوتا ConnectionString وجود دارد.بررسی کن
    شما خط 1 کد بالا رو حذف و خط 2 رو به این صورت اصلاح کن

    var dbUser = new DataAccess.myDataLinDataContext();

    موقعی که شما Linq2Sql رو به پروژ اضافه میکنی در حالت ویزارد کانکشن استرینگ رو در app.config اضافه میکند. برای نمونه سازی از کلاس myDataLinDataContext لازم نیست شما connection بهش پاس کنی ،از ConnectionString پیش فرض استفاده میکند




    من در فایل app.config کانکشن پیش فرض رو پاک کردم چون میخوام از datadirectory استفاده کنم
    و بخاطر این باید کانکشن رو بهش پاس بدم

    حالا میشه بهم بگید چطور از data directory استفاده کنم؟ توی هر پروژه ای ازش استفاده کردم تغییرات روی جدول ها اعمال نمیشه

  8. #8
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: C#‎ و ارتباط از طریق App.config

    ConnectionString پیش فرض رو بجای حذف میتونستی اصلاح کنی. شما ابتدا ConnectionString رو در فایل app.configخذف کن سپس وارد بخش Settingپروژه شو و مانند تصویر زیر ConnectionString رو در بخش setting پروژه اضافه کنید(شما ConnnectionString رو در فایل app.config بنام con ذخیره کردی)
    در بخش Setting هم به همین نام ذخیره شود
    settingss.jpg
    بعد فایل myDataLin.designer.cs رو باز کنید و کد زیر رو اضافه کنید نام namespace که در کد yourNamespace هست به namespace پروژه خود تغییر دهید

    public myDataLinDataContext() :
    base(global::yourNamespace.Properties.Settings.Def ault.con, mappingSource)
    {
    OnCreated();
    }
    First,solve the problem then write the code

  9. #9

    نقل قول: C#‎‎‎ و ارتباط از طریق App.config

    این تغییراتی که گفتید را اعمال کردم
    برنامه اجرا میشه مشکلی نداره ولی من مشکلم اینه که تغییراتی که اعمال میکنم توی برنامه تا زمانی که برنامه باز هست نمایش می دهد ولی وقتی برنامه را می بندم و database را باز میکنم داخل جدولها هیچ تغییراتی اعمال نمی کند ، حتی برنامه هم دوباره باز میکنم همون جدول ها قبل از تغییرات رو میاره
    وقتی data directory را پاک میکنم و بجاش آدرس کامل data base رو می نویسم تمام دستورات درست اجرا میشه و تغییرات هم روی جدول ها اعمال میشه
    مشکلم همینه که از data directory استفاده میکنم
    برای حل این باید چکار کنم
    لازمه که از datadirectory استفاده بشه چون می خوام نصبش کنم روی سیستم های مختلف بهتره data directory باشه ؟

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: C#‎ و ارتباط از طریق App.config

    نقل قول نوشته شده توسط davidrobert مشاهده تاپیک
    دوست عزیز مشکل این هستش احتمالا برنامه داره دیتابیس رو از کنار فایل اجرای میخونه یعنی موقعی که برنامه اجرا میشه دیتابیس کپی میشه در مسیر فایل اجرا به همین خاطر شما موقع اجرا اول داده ندارید برنامه خام می باشد و اطلاعات وارد میکنید همون دقیقه مشاهده میکنید ولی برای بار دوم برنامه رو اجرا میکنید دیتابیس رو از کنار فایل اجرای باز پاک کرده و دوباره ایجاد میکنه و میبینید داده های که قبلا وارد کردید نمی باشد این به این خاطر می باشد که دیتابیس از کنار فایل اجرای خونده میشه نه از مسیری که تایین کردید. و به همین خاطر در هر بار اجرا میبنید دیتابیس صفر شده و داده ها از بین رفته
    به نظر من هم مشکل همینه. من خودم هر وقت می خوام به بانک آدرس نسبی بدم و با data directory کار کنم این کار رو نگه می دارم واسه زمانی که می خوام ستاپ درست کنم چون قبل از اون این مشکل وجود داره.
    وقتی شما با data directory آدرس میدید هنگام اجرای پروژه بانک از مسیر bin/debug داخل پوشه پروژه اجرا میشه ولی وقتی پروژه از حالت اجرا در میاد از مسیر خود پروژه اجرا میشه

  11. #11

    نقل قول: C#‎ و ارتباط از طریق App.config

    نقل قول نوشته شده توسط mehran788 مشاهده تاپیک
    به نظر من هم مشکل همینه. من خودم هر وقت می خوام به بانک آدرس نسبی بدم و با data directory کار کنم این کار رو نگه می دارم واسه زمانی که می خوام ستاپ درست کنم چون قبل از اون این مشکل وجود داره.
    وقتی شما با data directory آدرس میدید هنگام اجرای پروژه بانک از مسیر bin/debug داخل پوشه پروژه اجرا میشه ولی وقتی پروژه از حالت اجرا در میاد از مسیر خود پروژه اجرا میشه


    برای حل این مشکل باید چکار کنم؟ یعنی اصلا از data directory استفاده نکنم؟ مسیر بانک اطلاعاتی را کامل بهش بدم؟

  12. #12
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: C#‎ و ارتباط از طریق App.config

    دوست گرامی شما database رو درSolution Explorer به پروژه اضافه کردی و خاصیت Copy to Output Directory رو روی Copy Always ست کردی این باعث میشه هر بار که پروژه رو Run میکنی دیتابیس که در مسیر پروژه هست به پوشه Debug در هر بار اجرای برنامه کپی میشود این دلیل مشکل شماست.برای رفع مشکل روی نام دیتابیس در پنجره Solution Explorer راست کلیک و سپس گزینه Properties در پنجره properties خاصیت Copy to Output Directory رو به Do not Copy یا Copy if newerست کن مشکل حل میشه. و |Data Directory| هم در ConnectionString استفاده کن تا موقع انتقال پروژه با مشکل مواجه نشی.
    First,solve the problem then write the code

تاپیک های مشابه

  1. ارتباط از طریق Dial-Up
    نوشته شده توسط ar_monti@ در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 28 فروردین 1386, 14:26 عصر
  2. دیتابیس و ارتباط از طریق اینترنت
    نوشته شده توسط MNosouhi در بخش برنامه نویسی در Delphi
    پاسخ: 10
    آخرین پست: دوشنبه 10 مهر 1385, 11:42 صبح
  3. ارتباط از طریق تلفن به دیتا بیس
    نوشته شده توسط مطهر در بخش VB.NET
    پاسخ: 10
    آخرین پست: سه شنبه 25 بهمن 1384, 00:17 صبح
  4. ارتباط از طریق شبکه با کد C تحت DOS
    نوشته شده توسط حامی2 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 5
    آخرین پست: شنبه 23 مهر 1384, 00:19 صبح
  5. ارتباط از طریق مودم به شبکه محلی
    نوشته شده توسط کم حوصله در بخش شبکه و Networking‌
    پاسخ: 7
    آخرین پست: سه شنبه 20 آبان 1382, 23:34 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •