رشته اتصال پویای پایگاه داده MS SQL در #C

سه شنبه 23 تیر 1394

در این مقاله به بررسی نحوه دریافت نام سرور نصب شده برروی سیستم می پردازیم.

رشته اتصال پویای پایگاه داده MS SQL  در #C

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

1- در ابتدا یک برنامه کاربردی تحت ویندوز ایجاد نمایید.

2- حال Nuget موردنظر را با توجه به مراحل زیر در پروژه نصب نمایید.

البته با توجه به اینکه این Nuget در برنامه ما نصب شده است در نتیجه گزینه Install در مقابل آن فعال نیست. ولی شما در صورتی که آن را جستجو کردید، اقدام به نصب آن نمایید.

حال یک فرم با ظاهری شبیه شکل زیر طراحی نمایید.

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


    using Microsoft.SqlServer.Management.Smo;  
    using System.Data.SqlClient;  

دستورات زیر مربوط به فرم بالا است.

public partial class Form1 : Form
    {
        string serverName;
        public SqlConnectionStringBuilder connectionString = new SqlConnectionStringBuilder();  
   
   
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dataTable = SmoApplication.EnumAvailableSqlServers(true);
            listBox1.ValueMember = "Name";
            listBox1.DataSource = dataTable;   
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
        listBox2.Items.Clear();
            if (listBox1.SelectedIndex != -1)
            {
                serverName = listBox1.SelectedValue.ToString();

                Server server = new Server(serverName);
                try
                {
                    foreach (Database database in server.Databases)
                    {
                        listBox2.Items.Add(database.Name);
                    }
                }
                catch (Exception ex)
                {
                    string exception = ex.Message;
                }
            }
        }
         
        

        private void button1_Click(object sender, EventArgs e)
        {
            connectionString.DataSource = serverName;
            if (listBox2.SelectedIndex != -1)
            {
                connectionString.InitialCatalog = listBox2.SelectedItem.ToString();
                connectionString.IntegratedSecurity = true;
                this.Hide();
                Splash frm = new Splash(connectionString);
                frm.Show();

            }
            else
            {
                MessageBox.Show("لطفا نام بانک اطلاعاتی را انتخاب نمایید");
                listBox2.Focus();
            }   
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
       


    }

در ادامه کار یک ویندوز فرم جدید ایجاد نمایید و آن را Splas بنامید. این فرم جهت نمایش رشته اتصال مورد استفاده قرار خواهد گرفت.

در ادامه به شما خواهیم گفت که چگونه می توانید از این رشته اتصال در هر فرمی در پروژه های ویندوز فرم استفاده نمایید.

فضای نام مورد نیاز:

using System.Data.SqlClient; 

ایجاد یک رشته اتصال به پایگاه داده:


    public SqlConnectionStringBuilder cs;  

کدهای زیر را به بخش دستورات فرم Splash بیافزایید.

public partial class Splash : Form
    {
        public SqlConnectionStringBuilder cs;
        public Splash()
        {
            InitializeComponent();
        }
        public Splash(SqlConnectionStringBuilder con)
        {
            InitializeComponent();
            cs = con;
        }

        private void Splash_Load(object sender, EventArgs e)
        {
            label1.Text = cs.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        } 
        
    }

خروجی حاصل از اجرای برنامه را مشاهده نمایید.

در صورتی که هیچ بانک اطلاعاتی را انتخاب نکردید و دکمه Submit را انتخاب کردید با پیغام زیر مواجه می شوید.

بعد از انتخاب یک بانک اطلاعاتی و انتخاب دکمه Submit فرم دوم نمایش داده می شود و شما رشته اتصال موردنظر را مشاهده خواهید کرد.

آموزش سی شارپ

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 4 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید