تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 10 از 10

نام تاپيک: یه سوال در مورد بانک های اطلاعاتی

  1. #1
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    14 یه سوال در مورد بانک های اطلاعاتی

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

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


    من با استفاده از کد زیر به بانک اطلاعاتی connect می شم.
    تا وقتی توی برنامه هستم، هر تغییری توی برنامه بدم کارش رو درست انجام میده. مثلا از طریق برنامه، چندتا داده رو به اطلاعاتی برنامه اضافه می کنم.
    برنامه هیچ پیغام خطایی نمی ده و دقیقا کارش رو درست انجام میده.


    مشکل من اینجاست که اگه برنامه بسته بشه، اطلاعاتی که توی بانک اطلاعاتی ثبت کردم و یا پاک کردم، به حالت اولشون بر می گردن و انگار نه انگار که من توی بانک، تغییرات داده بودم.

    کد:

    string MdfPath = Environment.CurrentDirectory + @"\Database1.mdf";
    string ConnectionString = string.Format(@"Data Source = .\SQLEXPRESS;AttachDBFileName={0};" + "Integrated Security = SSPI;", MdfPath);
    System.Data.SqlClient.
    SqlConnection connection = new System.Data.SqlClient.SqlConnection(ConnectionString);

    این در صورتی است که اگه از طریق connection string به بانک اطلاعاتی وصل بشم، این مشکل رو ندارم.
    ولی اونوقت، آدرس بانک اطلاعاتی، آدرس ثابت میشه و روی هر کامپیوتری فرق میکنه.
    برای بهتر حل شدن این مشکل من یه نمونه از کدهام رو براتون میذارم.
    ممنون از لطف شما.


    کد:

    string MdfPath = Environment.CurrentDirectory + @"\Database1.mdf";
    string ConnectionString = string.Format(@"Data Source = .\SQLEXPRESS;AttachDBFileName={0};" + "Integrated Security = SSPI;", MdfPath);
    System.Data.SqlClient.
    SqlConnection connection = new System.Data.SqlClient.SqlConnection(ConnectionString);
    SqlCommand cmd1 = newSqlCommand("insert into factor_name(code,tel,name) values('" + code + "','" + textBox1.Text + "','" + txt_forooshandeh.Text + "')", connection);
    cmd1.Connection.Open();
    SqlDataAdapter adp = newSqlDataAdapter();
    adp.SelectCommand = cmd1;
    DataTable dt = newDataTable();
    adp.Fill(dt);
    add2();
    cmd1.Connection.Dispose();



  2. #2
    داره خودمونی میشه behnam25214's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    81

    12

    به نظر من باید در آخر هم این کد و بنویسی

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  3. #3
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    این مشکل زیاد جدی نیست و فقط در حالت دیباگ به وجود میاد اگه شما VS رو ببندید و فایل exe رو اجرا کنید میبینید دچار مشکل نمیشه

    در کل این مشکل بخاطر این اتفاق میفته که دو نمونه از بانک در سیستم وجود داره که هنگام دیباگ یکیش کار میکنه و هنگام اجرای فایل exe اونی که کنار فایل گذاشتید کار میکنه
    احتمالا تو این دو مسیر فایل وجود داشته باشه
    C:\Applicatiion\db.mdf
    C:\Applicatiion\bin\Debug\db.mdf
    که هنگام دیباگ گیری مسیر اولو میخونه و هنگام ستاپ گیری و فایل exe مسیر دوم

    شما برنامه تون trace کنید ببینید که کد
    Environment.CurrentDirectory + @"\Database1.mdf
    کجا رو میخونه میتونید منبع مشکل رو پیدا کنید

    در ضمن میتونید به جای استفاده از Environment.CurrentDirectory + @"\Database1.mdf از کد زیر هم استفاده کنید
    My.Application.Info.DirectoryPath + "\Database1.mdf"

  4. #4
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    14

    سلام.
    من کد: cmd1.Connection.Close(); رو هم قبلا امتحان کرده بودم ولی باز هم جواب نداد.

    کد: My.Application.Info.DirectoryPath + "\Database1.mdf" مربوط به ویژوال هست. لطفا معادل سی شارپ رو بگین.
    در ضمن من چطور می تونم برنامه رو trace کنم؟


    ممنون.

    Last edited by aliaghaaaaa; 05-09-2009 at 11:26.

  5. #5
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    کد: My.Application.Info.DirectoryPath + "\Database1.mdf" مربوط به ویژوال هست. لطفا معادل سی شارپ رو بگین
    Application.StartupPath+ "\Database1.mdf";

    در ضمن من چطور می تونم برنامه رو trace کنم؟



    کاره نداره دیگه روی خط سورس برنامه گوشه چپ روی نوار خاکستری کلید چپ کن تا یک نقطه قرمز بذاره هنگام برنامه اونجا وامیسه میتونی اطلاعاتو ببینی

    در ضمن میتونی محتویات متغییر تو MessageBox ببینی
    MessageBox.Show(Application.StartupPath);
    MessageBox.Show(Environment.CurrentDirectory + @"\Database1.mdf
    );

  6. #6
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

    سلام.
    مشکل قبلی من حل شد.
    وقتی از تو debug برنامه رو اجرا کردم، ثبت کرد و درست شد.
    حالا یه مشکل دیگه هست و اون اینه که رو بعضی از کامپیوترها بانک اطلاعاتی رو میشناسه و رو بعضی دیگه هم نمیشناسه.
    البته رو همه ی کامپیوترهایی که امتحان کردم هم دات نت بود و هم sql.
    یه error میده و میگه:
    creat database permission denied in database 'master'.
    an attempt to attach an auto-named database for " آدرس بانک " failed. a database with the same name exist, or specified cannot be opened or it is located on UNC share.
    البته اون آدرسی هم که می نویسه کاملا درسته.
    کمک...........
    Last edited by aliaghaaaaa; 05-09-2009 at 17:58.

  7. #7
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    آیا فایل بانک شما تو سیستم خودتون Attach شده بود اگر اینطوری باید حتما اول deattch بشه بعد برشداری
    اگر تو سیستم خودتو تو محیط VS یک Connection باز از بانک داری اونو ببند یا حذف کن

    اگر این خطا تو محیط ویستا و سیون (7) برات پیش اومده علتش اینه که اجازه دسترسی به اون فایل توسط ویندوز بسته شده باید به اون اجازه دسترسی بدی

    روی فایل بانک اطلاعاتی کلیک راست کن گزینه Properties وبعد..
    Properties-->Security Tab-->Select User-->Edit Button-->Check Full Control

  8. #8
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

    سلام.
    من از گزینه ی add گزینه ی sql database رو انتخاب کردم و برای برنامه بانک اطلاعاتی درست کردم.
    حالا این مشکل رو دارم.

  9. #9
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    روشی رو که گفتم تست کنید ؟

  10. #10
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

    سلام.
    ممنون.
    امتحانش می کنم اگه بازم مشکلی داشتم می پرسم.
    لطف کردین

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •