PDA

View Full Version : ارتباط با دیتابیس



acreza
پنج شنبه 18 بهمن 1386, 23:50 عصر
سلام .
اول از همه خسته نباشید و پیشاپیش به خاطر پاسختون تشکر میکنم .
من یک پروژه با ASP.NET 2005 برای درس پروژم برداشتم . والان هم همه کارهاش تموم شده اما یک مشکل دارم :

برای ارتباط با دیتابیس در تمامی صفحاتم هرجا نیاز به کانکش داشتم یک کانکشن استرینگ نوشتم و رفتم جلو. نحوه نوشتن کانکشنم هم اینطوزی بود
string connections = @"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Documents and Settings\reza\My Documents\Visual Studio 2005\WebSites\adaryaclick\App_Data\aryaclick.mdf'; Integrated Security=True;Connect Timeout=30;User Instance=True";

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

حالا فهمیدم کارم اشتباه بوده . چون اینطوری حتما پایگاه داده من باید در مسیری که من براش تعیین کردم قرار بگیره و این خیلی بده
...'C:\Documents and Settings\reza\My Documents\Visual Studio 2005\WebSites
یک دوست به من گفت باید دیتابیست رو اول attach کنی وبعدش عبارت زیر را درفایل web.config قرار بدی و بعد از اون کانکشن توی همه صفحاتت استفاده کنی تا دیگه نیازی با آدرس دهی توی کانکشن استرینگ نداشته باشی و ...

connectionStrings>
<add name="ARYACLICK.MDFConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=ARYACLICK.MDF;Integrated Security=True"/>
</connectionStrings>

من اینکار رو کردم ولی دیگه بعدش رو ازش نپرسیدم که باید چطوری کانکشن استرینگ رو توی صفحاتی که نیاز دارم بنویسم و دیگه هم دسترسی به دوستم نداشتم که ازش بپرسم این شد که حدود دو سه ساعت از وقتم رو گذاشتم و همه کانکشن استرینگ های صفحاتم را که خیلی هم زیاد بودند به صورت زیر درآوردم :

string connections = @"Data Source=.\sqlexpress;Initial Catalog=ARYACLICK.MDF;Integrated Security=True";

یعنی دیگه آدرس ها را حذف کردم . بعدا دوستم که فهمید ایمل زده بود که:

فکر کنم فراموش کردی بپرسی این کانکشنی که در web.config ایجاد کردی رو چه جوری می تونی در صفحاتت ازش استفاده کنی.برای این کار باید در صفحه یک string تعریف کنی و به این صورت اقدام کنی.

strconn=configurationmanager.connectionstring["nameofconnectionstring"].tostring();

nameofconnectionstring همان نام ایست که در قسمت name کانکشن نوشتی.(web.config)

حالا من باید پروژم را هرچه زودتر تحویل استاد بدم . الان مشکل اون آدرس طولانی حل شده ولی یک مشکل دیگه هست و اون نام سرور هستش که باید همنام اون چیزی که من تعریف کردم ( نام پیش فرض برای سرور ) اگه نام دیتابیس بجای sqlexpress چیز دیگه ای باشه روی اون کامپیوتر سایت من قابل اجرا نیست و کلی خطا میده . اگه کاری که دوستم گفته بود را انجام داده بودم دیگه نیازی به تغییر دوباره این همه کانکشن استرینگ نداشتم وفقط کافی بود توی فایل web.config
نام سرور را عوض میکرم و تمام ولی الان دوباره باید همه کانکشن استرینگ ها را از اول درست کنم .
البته اونجا هایی که خودم دستی کانکش رو تایپ کردم کاری نداره . با یکی دو ساعت وقت گذاشتن میتونم دوباره درستشون کنم
اما مشکل اساسی ترم اینجاست که من کلی گرید ویو و یا دیتا لیست و از اینجور چیزها را بصورت ویزاردی توی صفحاتم قرار دادم که نمیدونم چطوری باید کانکشنون را بصورتی که در بالا دوستم گفته عوض کنم؟ .


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

من تجربه اولم از برنامه نویسی هستش . اینه که هیچی بلد نیستم نمیدونم باید چی کار کرد ؟

ممنون میشم اگه راهنماییم کنید . ( من فقط جمعه و شنبه را وقت دارم دیشب هم از ساعت 11 تا ساعت حدود 3 داشتم کانکشن ها رو درست میکردم و حالا امشب دوباره ....)
اگه ممکنه زودتر جوابم رو بدهید . چون هم اکنون نیازمند یاری سبزتان هستم .

با تشکر

meysam_12001
جمعه 19 بهمن 1386, 00:34 صبح
اما مشکل اساسی ترم اینجاست که من کلی گرید ویو و یا دیتا لیست و از اینجور چیزها را بصورت ویزاردی توی صفحاتم قرار دادم که نمیدونم چطوری باید کانکشنون را بصورتی که در بالا دوستم گفته عوض کنم؟ .

روی sqldatasource مربوط به gridview کلیک راست کن بعد show smart tag رو انتخاب کن بعدش configure datasource رو انتخاب کن . از dropdown اسم اون کانکشنی رو که دوستت گفته بود ، توهم توی webconfig درست کرده بودی رو انتخاب کن . اینطوری connection ، sqldatasource تنظیم میشه !

acreza
جمعه 19 بهمن 1386, 13:26 عصر
درسته اما اونجا باید دکمه New connection را بزنم که بعدش یک پنجره باز میشه که میگه نام سرور را بنویس بعد باید همون sqlexpressr\. را بنویسم . خوب اینکه دوباره همون کاری میشه که من قبلا خودم انجام دادم .
http://www.ariaclick.com/download/untitled.JPG

اصلا میخواهم بدونم این نام سرور بدون نصب مجدد sqlserver قابل تغییر هستش ؟
اگه اینجوریه کجا باید برم . یا اصلا همیشه و همه جا همین sqlexpressr\. و نیازی به تغییر نداره