PDA

View Full Version : سوال: کانکشن استرینگ connection String پویا در dataset



mostafah110
یک شنبه 27 تیر 1389, 00:17 صبح
با سلام خدمت همه دوستان برنامه نویس.
من می خواستم در dataset یک connectionString پویا داشته باشم مثلا کاربر ابتدای ورود به برنامه مشخص می کند که username و pass اش چیست و بعد به database می تواند وصل شود.

همه می دونیم که dataset از متغیرهای داخل setting و مخصوصا نوع connectionString استفاده می کند حالا این مشکل هست که نوع connectionString نوعی استاتیک (application) هست و نمی شود توسط user تغییر کند، پس حالا برای تغییر connectionString مربوط به dataset باید چه کار کنیم؟

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

mostafah110
یک شنبه 27 تیر 1389, 00:42 صبح
من خودم این منبع را پیدا کردم ولی هیچی نفهمیدم ، کسی می تونه کمک کنه؟
http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataset/thread/7483b816-be7a-4204-a4d3-cfb14b2aae26

Masoome_das
یک شنبه 27 تیر 1389, 00:51 صبح
string pass=TextBox1.Text;
string username=TextBox2.Text;
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=CarpetDastani_DB;pass=" + pass + "us=" + username);

اگه در نوع تعریف کد مشکلی وجود داره باید ببخشید چون من کد را حفظ نبودم
شما در ابتدای آغاز برنامه مشخصات را از کابر می گیرید در دومتغیر از نوع string ذخیره می کنید
شما می توانید این کد را در یک کلاس عمومی ذخیره کنید و در تمام طول برنامه با مراحعه به این کلاس به DB وصل شوید
اگر که اطلاعات صحیح بود که به DB وصل می شوید اگر هم نادرست با پیام مناسب به کاربر اطلاع می دهید

mostafah110
یک شنبه 27 تیر 1389, 00:54 صبح
string pass=TextBox1.Text;
string username=TextBox2.Text;
SqlConnection con = newSqlConnection("Data Source=.;Initial Catalog=CarpetDastani_DB;pass=" + pass + "us=" + username);
اگه در نوع تعریف کد مشکلی وجود داره باید ببخشید چون من کد را حفظ نبودم
شما در ابتدای آغاز برنامه مشخصات را از کابر می گیرید در دومتغیر از نوع string ذخیره می کنید
شما می توانید این کد را در یک کلاس عمومی ذخیره کنید و در تمام طول برنامه با مراحعه به این کلاس به DB وصل شوید
اگر که اطلاعات صحیح بود که به DB وصل می شوید اگر هم نادرست با پیام مناسب به کاربر اطلاع می دهید


خیلی ممنون، ولی من می خواستم در dataset از همین قابلیت استفاده کنم، مثلا یک dataAdapter که در ان تعریف شده کانکشن استرینگ پویایی داشته باشه، ولی دیتاست همیشه کانکشن استرینگ استاتیک داره!!!:متفکر::متفکر:

mostafah110
یک شنبه 27 تیر 1389, 08:58 صبح
آقا هیچ کی نمیدونه، من محتاج این قضیه هستم.:ناراحت:

حامد مصافی
یک شنبه 27 تیر 1389, 09:29 صبح
فايل Setting مزبور را باز كرده و روي كليد View Code كليد كنيد.
حال يك تابع ساده مانند زير تعريف كنيد:


public void SetConnectionString(string ConnectionString)
{
this["connectionString1"] = ConnectionString;
this.Save();

}


حال با فراخواني اين تابع مي توانيد connectionString را تغيير دهيد، مانند زير:


Properties.Settings.Default.SetConnectionString(va lue);


توجه : connectionString1 در كد اول نام كانكشن استرينگ ثبت شده توسط ديتاست در setting است.

mostafah110
یک شنبه 27 تیر 1389, 09:38 صبح
فايل Setting مزبور را باز كرده و روي كليد View Code كليد كنيد.
حال يك تابع ساده مانند زير تعريف كنيد:


public void SetConnectionString(string ConnectionString)
{
this["connectionString1"] = ConnectionString;
this.Save();

}حال با فراخواني اين تابع مي توانيد connectionString را تغيير دهيد، مانند زير:


Properties.Settings.Default.SetConnectionString(va lue);توجه : connectionString1 در كد اول نام كانكشن استرينگ ثبت شده توسط ديتاست در setting است.

ممنون، ولی این تابع اونجا نبود ، من تو قسمت setting.designer.cs رفتم و بعدش اونجا این تابع را دیدم:

public string chapyarConnectionString {
get {
return ((string)(this["chapyarConnectionString"]));
}
}ولی می بینید که باز هم تابع set ندارد من set را به آن اضافه کردم حالا به نظر شما این طوری درست است؟

public string chapyarConnectionString {
get {
return ((string)(this["chapyarConnectionString"]));
}
set
{
this["chapyarConnectionString"] = value;
}
}حالا میشه اینطوری استفاده کرد؟

Properties.Settings.Default.chapyarConnectionStrin g = "";
من اینطوری استفاده کردم و error نداد و حتی دیتاست را هم پر کرد ولی می خواستم بدانم از لحاظ تئوری موردی نداره؟

حامد مصافی
یک شنبه 27 تیر 1389, 09:50 صبح
ممنون، ولی این تابع اونجا نبود
نبايدم اونجا باشه! گفتم تعريفش كنيد، يعني كد هايي رو كه نوشتم در قسمتي كه عرض كردم درج كنيد.
لزومي نداره حاي ديگه اي رو بگرديد، فقط قدم به قدم كار هايي رو كه گفتم انجام بديد.

mostafah110
یک شنبه 27 تیر 1389, 10:03 صبح
نبايدم اونجا باشه! گفتم تعريفش كنيد، يعني كد هايي رو كه نوشتم در قسمتي كه عرض كردم درج كنيد.
لزومي نداره حاي ديگه اي رو بگرديد، فقط قدم به قدم كار هايي رو كه گفتم انجام بديد.
آخ ببخشید ، اون قدر هیجان داشتم که درست نخوندم، خیلی خیلی ممنون، الآن درست شد.

ma.rad
چهارشنبه 23 آذر 1390, 10:30 صبح
فايل Setting مزبور را باز كرده و روي كليد View Code كليد كنيد.
حال يك تابع ساده مانند زير تعريف كنيد:


public void SetConnectionString(string ConnectionString)
{
this["connectionString1"] = ConnectionString;
this.Save();

}


حال با فراخواني اين تابع مي توانيد connectionString را تغيير دهيد، مانند زير:


Properties.Settings.Default.SetConnectionString(va lue);


توجه : connectionString1 در كد اول نام كانكشن استرينگ ثبت شده توسط ديتاست در setting است.

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