PDA

View Full Version : مشکل در ConfigurationManager



spicirmkh
یک شنبه 20 دی 1388, 18:16 عصر
از برنامه استاد کرامتی استفاده می کنم در web مشکل نیست اما در windows App

در دستور


connectionString = ConfigurationManager.ConnectionStrings "my_ConnectionString"].ToString();


از ConfigurationManager این پیغام خطا می گیرد

The name 'ConfigurationManager' does not exist in the current context

در حالی که using System.Configuration وجود دارد

spicirmkh
دوشنبه 13 اردیبهشت 1389, 19:17 عصر
جوابش خودم پیدا کردم

قبلش باید تو قسمت Refrence ها System.Configuration اضافه کنی

armiin
دوشنبه 13 اردیبهشت 1389, 20:52 عصر
دقیقا میخواستم تو همین چند روز یه همچین تاپیکی بزنم !
بنده همچنان مشکلم برطرف نشده ، من با استفاده از SqlConnection و با PropertyBinding-->ConnectionString به app.config برنامه ام مقدار ConnectionString را اضافه کردم
حالا 2تا سئوال دارم چطور میتونم در کد و همچنین در حالت ویزارد (مثلا در استفاده از SqlDataAdapter ) از این مقدار استفاده کنم (در تمام صفحات برنامه ام )
برای حالت ویزارد خودم یه کاری کردم جواب داد ولی فکر میکنم راه منطقی نیست ، اول با استفاده از مراحل خود SqlDataAdapter منظورمConfigure Data Adapter هستش یه SqlCommand ساخته میشه بعد با PropertyBinding-->ConnectionString مقدار اولیه را انتخاب میکنم که خود به خود مقدار ConnectionString عوض میشه ! (راه حل بهتری هستش ؟ )
برای دسترسی در حالت کد کاری که دوستمون در بالا گفتن را انجام دادم ولی Error داد !

کل app.config که میخواهم به مقدار Data Source=.;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=sql دسترسی پیدا کنم


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="WindowsFormsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<WindowsFormsApplication1.Properties.Settings>
<setting name="MyConnection" serializeAs="String">
<value>Data Source=.;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=sql</value>
</setting>
</WindowsFormsApplication1.Properties.Settings>
</applicationSettings>
</configuration>
کدی که استفاده کردم و Error داد !


string MyconnectionString = ConfigurationManager.ConnectionStrings["MyConnection"].ToString();

پیشاپیش متشکرم !

majid325
سه شنبه 14 اردیبهشت 1389, 02:55 صبح
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="WindowsFormsApplicationTest.Properties.Settings.Se tting"
connectionString="Your CnnString" />
</connectionStrings>
</configuration>

armiin
سه شنبه 14 اردیبهشت 1389, 11:19 صبح
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="WindowsFormsApplicationTest.Properties.Settings.Se tting"
connectionString="Your CnnString" />
</connectionStrings>
</configuration>
بنده فکر میکنم این ConnectionString را فقط در حالت Connected (کد) میتوان استفاده کرد ! مثلا کامپوننت SqlConnection در قسمت PropertyBinding چطور به این ConnectionString دسترسی پیدا میکنه ؟ :متفکر:
اگر بخواهیم فقط در حالت کد استفاده کنیم که استفاده از Key خیلی راحت تره !
هدفم برای این کار اینه که کل برنامه در تمام صفحات ،در همه ی حالات ( ویزارد و کد ) از یک ConnectionString استفاده کند که در صورت لزوم برای تغییر مقدار آن برنامه نویس فقط این مقدار را در app.config تغییر بده و برای کل برنامه این تغییر اعمال بشه !

majid325
سه شنبه 14 اردیبهشت 1389, 21:43 عصر
بنده فکر میکنم این ConnectionString را فقط در حالت Connected (کد) میتوان استفاده کرد ! مثلا کامپوننت SqlConnection در قسمت PropertyBinding چطور به !
من تا حالا این کار رو نکردم و فکر نمیکنم بشه.


اگر بخواهیم فقط در حالت کد استفاده کنیم که استفاده از Key خیلی راحت تره !
!

منظورتون از key چی هست؟

هدفم برای این کار اینه که کل برنامه در تمام صفحات ،در همه ی حالات ( ویزارد و کد ) از یک ConnectionString استفاده کند که در صورت لزوم برای تغییر مقدار آن برنامه نویس فقط این مقدار را در app.config تغییر بده و برای کل برنامه این تغییر اعمال بشه !
با همون appConfig کار کنید ، مزایایی داره که به کار میاد.

armiin
سه شنبه 14 اردیبهشت 1389, 21:57 عصر
منظورتون از key چی هست؟
منظورم :


<appSettings>
<add key="MyConnectionString" value="data source=.;database=master;uid=sa;pwd=sql"/>
</appSettings>
که برای دسترسی به مقدار آن :


new AppSettingsReader().GetValue("MyConnectionString",typeof(string)).ToString()
مشکلش عدم دسترسی در حالت ویزارد ، همون مشکلی که کد شما هم داشت !


با همون appConfig کار کنید ، مزایایی داره که به کار میاد.
خب منم دوست دارم ولی نمیتونم :چشمک: سئوال منم همینه دیگه :لبخند:
از پیگیریتون ممنون !

دوستان یه کمکی کنن لطفا ، یعنی برنامه هایی که مینویسید برای هر بار استفاده از DataBase یک ConnectionString جدید وارد میکنید !؟