PDA

View Full Version : کلاس connection string



mbaneshi
چهارشنبه 08 آذر 1396, 23:43 عصر
درود بر دوستان گرامی
من یه فرم ویندوزی دارم و میخوام توی اون به پایگاه sql متصل بشم. کانکشن استرینگی که دارم اینه و بدون مشکل هم کار می کنه:(چون من چند تا دیتابیس دارم و هر لحظه می خوام به یکیش متصل بشم بنابراین به جای txtsection اسم دیتابیس رو تایپ می کنم)



static public string conn =(String.Format( "Server=.\\SQLEXPRESS;Database=" + "txtsection.text" + ;trusted_Connection=true;"))


ولی من می خوام یه کلاس connection بسازم و این استرینگ رو توش قرار بدم و همه جا ازش استفاده کنم. اما نمی دونم txtsection رو چجوری توی کلاس بنویسم که ازم ایراد نگیره.(چون خطا میگیره و میگه این شیء وجود نداره و درست هم میگه)

ممنون میشم دوستان راهنمایی بفرمان.

رامین مرادی
پنج شنبه 09 آذر 1396, 08:13 صبح
میتونی یه متغییر بنویسی و اسم دیتابیس رو از اون بخونی. و موقع استفاده از کلاس نام دیتابیس رو به عنوان یکی از آرگومانهای متد سازنده اون کلاس استفاده کنی.

mbaneshi
پنج شنبه 09 آذر 1396, 09:05 صبح
درود.
ممنون از شما.
همون نمی دونم چجوری کد متغیر رو توی کلاس بنویسم. اگه زحمتی نیست نمونه کد برام بنویسید ممنون میشم.

رامین مرادی
پنج شنبه 09 آذر 1396, 10:23 صبح
درود.
ممنون از شما.
همون نمی دونم چجوری کد متغیر رو توی کلاس بنویسم. اگه زحمتی نیست نمونه کد برام بنویسید ممنون میشم.

برای مثال
این کلاس رو مثلا فرض کنید کلاس کانکشن شماست


class Connect
{
static public string conn;
Connect(string DBName)
{
conn = (String.Format("Server=.\\SQLEXPRESS;Database=" + DBName + ";trusted_Connection=true;"));
}
}



و نحوه مقدار دهی نام دیتا بیس موقع استفاده از این کلاس



Connect _Connect=new Connect("dbtest");

mbaneshi
پنج شنبه 09 آذر 1396, 13:53 عصر
ممنون از شما .

کلاس کانکشن ساخته شد.(البته من برای اینکه گیج نشم اسمش رو connection1 گذاشتم) اما توی فرم نتونستم ازش استفاده کنم.
توی قسمت دوم که سه بار connect تکرار شده مفهومش متوجه نمیشم. مثلش هم نوشتم ولی خطا داد.

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

رامین مرادی
پنج شنبه 09 آذر 1396, 14:47 عصر
Connect _Connect=new Connect("dbtest");
اینو از فرمی که تکست باکس قرار داره مینویسید بجای "dbtest" اسم تکست باکستون رو مینویسید

mbaneshi
پنج شنبه 09 آذر 1396, 23:35 عصر
سپاس فراوان از وقتی که گذاشتید.
کد کار کرد.