آژانس هواپیماییexchanging

اتصال به database

شروع موضوع توسط winter ‏7 فوریه 2006 در انجمن asp , ASP.NET

  1. winter

    winter کاربر تازه وارد

    تاریخ عضویت:
    ‏4 فوریه 2006
    نوشته ها:
    58
    تشکر شده:
    0
    سلام علیکم،

    اصولا وقتی توی VS.Net پروژه هایی می نویسیم که به database وصل می شن (چه webform چه winform) برای وصل کردن هر فرمی به database یک connection به فرم اضافه می کنیم که یکی از property هاش connection string هست و باید توش چیزهایی مثل username و password بنویسیم و این کار رو برای همه فرمها تکرار کنیم. حالا اگه یه روز مجبور شیم database password رو عوض کنیم باید connection string رو تو همه فرم ها هم اصلاح کنیم.

    حالا من می خوام ببینم نمیشه این connection یه جای متمرکز ساخته بشه و همه فرم ها ازش استفاده کنن که اگر به روزی هم خواستیم عوضش کنیم تو همون یه جا این کارو بکنیم؟

    البته فکر کنم از طریق کد نویسی و module ها بشه این کارو کرد ولی من منظورم اینه که این connection رو تو حالت design بسازیم نه با کدنویسی.

    مرسی.
     
  2. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,350
    تشکر شده:
    1,322
    محل سکونت:
    یه خورده اونورتر
    یقینا میشه توی یک کلاس بصورت یک متغییر پابلیک گذاشت و در همه کلاسها استفادش کرد.
     
  3. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,285
    تشکر شده:
    15
    محل سکونت:
    North Pole
    بهتره که توی وب کانفیگ اه بذاری :
    این روز بذار توی وب web.config :

    کد:
    <configuration>
    <appSettings>
        <add key="connectionstring" 
            value="Integrated Security=SSPI;
            Initial Catalog=Northwind;
            Data Source=MyServer\NetSDK" />
    </appSettings>
    

    این دوتا فضای نام رو به سرس جایی که میخوای کانکشن رو استفاده کنی اضافه کن :

    کد:
    System.Collections.Specialized
    System.Configuration 
    
    
    بازیابی در vb

    کد:
    Dim myvar As String 
    myvar=ConfigurationSettings.AppSettings("connectionstring") 
    

    بازیابی در #C :

    کد:
    string myvar;
    myvar=ConfigurationSettings.AppSettings["connectionstring"]; 
    
    تمام :happy:
     
  4. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,350
    تشکر شده:
    1,322
    محل سکونت:
    یه خورده اونورتر
    Excellent!
    اصلا یادم نبود، بهترین راه همینه، کد هم تغییری نمیکنه.
     
  5. winter

    winter کاربر تازه وارد

    تاریخ عضویت:
    ‏4 فوریه 2006
    نوشته ها:
    58
    تشکر شده:
    0
    از هر دوتون خیلی ممنون،

    مسأله اینه دوستان که استفاده کردن از روشی مثل گذاشتن connectionstring توی web.config یا همون ساختن connection توی یه module جداگونه که خودم هم گفتم باعث می شه connectionstring تا قبل از اجرای برنامه (یا همون حالت design) مقدار نداشته باشه و مسلماً اگر بخوایم مثلاً توی form یه dataadaper و چندتا command و خلاصه هر چیزی که یه property به نام connection داره (و تا قبل از مقدار گرفتن این property هم بقیه property هاش set نمیشن!) بذازیم، همه این control ها رو باید با کد نویسی بسازیم. حتماً هم می دونید که drag کردن یه مثلاً adapter از توی toolbox روی فرم و همونجا set کردن propertyهاش از طریق پنجره property کجا و کد نویسی برای ساختن همون adapter کجا!!!

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

    حالا شاید هم من متوجه روش شما نشدم و دارم اشتباه می کنم. اگه اینطوره لطفاً بیشتر راهنمایی کنید.

    مرسی.
     
  6. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    دقيقا هموني كه دوستمون گفت
    اگه ديده باشي يه آموزش ساخت سي ام اس با دات نت گزاشته بودم
    تو اونجا هم من تو وب كانفيگ ذخيره ميكردم و از اونجا ميخوندم
     
  7. appbannerkhuniresbanner
  8. winter

    winter کاربر تازه وارد

    تاریخ عضویت:
    ‏4 فوریه 2006
    نوشته ها:
    58
    تشکر شده:
    0
    آقا خیلی تلگرافی نوشتی، من که منظورتو نفهمیدم. می شه بیشتر توضیح بدی؟
    توی web.config ذخیره می کنیم درست، ولی چه چوری موقع design بخونیمش؟!!
     
  9. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
  10. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,285
    تشکر شده:
    15
    محل سکونت:
    North Pole
    این آوارتار جدیدت بامزت ها !! مبارک باشه (ببخشید ربطی به موضوع نداشت ! )
     
  11. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,285
    تشکر شده:
    15
    محل سکونت:
    North Pole
    فورم خراب شده یا ویندوز منه !!! من پست های جدید رو وقتی میبینم که خودم یه پست بکنم !!!!
     
  12. winter

    winter کاربر تازه وارد

    تاریخ عضویت:
    ‏4 فوریه 2006
    نوشته ها:
    58
    تشکر شده:
    0
    خوب توی این تاپیک آموزشی هم که شما گذاشتی همه oledbcommand هات رو از طریق کدنویسی به وجود آوردی.

    خدا وکیلی قرار دادن connectoionstring تو web.config هم از اون چیزهایی بود که من تو dreamweaver دیده بودم و خیلی دوست داشتم ببینم تو VS. Net به چه صورته که اینجا به صورت تصادفی اون رو هم متوجه شدم. ولی سوال من چیز دیگه ایه!

    اصلاً بذار این طوری بگم :

    حالا فرض کن من connection رو به همین صورت که میگی ساختم. بعد یه sqlcommand یا sqldataadapter از توی toolbox می کشم میارم روی فرم. (ببین دارم می گم sqlcommand یا sqldataadapter رو drag می کنم نه اینکه براش کد می نویسم.) حالا تو همو حالت design (نه حالت code) می خوام command text شون رو از توی پنجره properties تنظیم کنم ولی تا connection شون set نشه که اجازه این کار رو به من نمیده. از طرفی هم من چون connection رو توی code ساختم تا برنامه اجرا نشه به connectionstring هم دسترسی ندارم.

    مشکل من اینه وایلا اگر قرار باشه این قسمتها رو هم از طریق کد نویسی پیاده کنم connectionstring رو هم می شه توی یه module جدا یا توی یکی از فرم ها به صورت یه public string تعریف کرد. همه جا هم ازش استفاده کرد. توی web.config هم می شه گذاشت.

    یواش یواش دارم متوجه می شم این سوال من هم خدا رو هم خرما رو خواستنه. جواب هم نداره!!!

    مرسی.
     
  13. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    شما اينطوري ميخواي
    دوتا راه هست كه هردو به خونه ميره بهت ميگيم از يكي از اين دوتا راه برو به انتخاب خودت
    حالا تو ميگي نه من ميخوام از هردوتا راه باهم برم:D
    تنها راهش اينه كه از وسط بري:D
     
  14. avajang.com .leftavajang.com.right
  15. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,350
    تشکر شده:
    1,322
    محل سکونت:
    یه خورده اونورتر
    در دیزاین مد امکان استفاده از متغییر نیست، بنا براین اصلا این کار شدنی نیست!
     
  16. winter

    winter کاربر تازه وارد

    تاریخ عضویت:
    ‏4 فوریه 2006
    نوشته ها:
    58
    تشکر شده:
    0
    خوب من هم همینو می گم دیگه، اون دو تا راه رو که شما می گی کمابیش می دونستم می خواستم ببینم از وسط هم راهی هست یا نه که خوب مشخص شد نیست.

    ولی اگه می شد چی می شد!!!

    به هر حال از همگی ممنون.