تست ارتباط با اسکسوال سرور در سی شارپ

cj.mamad

New Member
سلام به همه اساتید محترم
من ی برنامه نوشتم که آدرس دیتا بیس را در یک فایل تکست ذخیره کردم و وقتی برنامه اجرا میشه ارتباط با دیتابیس اسکسوال برقرار میشه و برنامه کار می کنه.
نکته اینجاس که می خوام وقتی برنامه دیتابیسشو پیدا نکرددوتا کار انجام بشه
1. برنامه کرش نکنه و در ادامه از ما آدرس دیتابیس را بخواد.
2. وقتی آدرس جدید دیتابیس (یا سیستمی که اسکیوال روش نصبه) را بگیره و تست کنه آیا دیتا بیس مورد نظر ما وجود داره یا خیر

لطفا راهنمایی بفرمایید
 

the_king

مدیرکل انجمن
سلام به همه اساتید محترم
من ی برنامه نوشتم که آدرس دیتا بیس را در یک فایل تکست ذخیره کردم و وقتی برنامه اجرا میشه ارتباط با دیتابیس اسکسوال برقرار میشه و برنامه کار می کنه.
نکته اینجاس که می خوام وقتی برنامه دیتابیسشو پیدا نکرددوتا کار انجام بشه
1. برنامه کرش نکنه و در ادامه از ما آدرس دیتابیس را بخواد.
2. وقتی آدرس جدید دیتابیس (یا سیستمی که اسکیوال روش نصبه) را بگیره و تست کنه آیا دیتا بیس مورد نظر ما وجود داره یا خیر

لطفا راهنمایی بفرمایید
شما با اجرای همچین متدی که true یا false برمیگردونه می توانید تست کنید که آیا connectionString مورد نظر شما می تواند به جدول tableName که اسم یکی از جداول شما در دیتابیس است دسترسی داشته باشد یا نه :
کد:
        private bool TestConnection(string connectionString, string tableName)
        {
            try
            {
                var connection = new System.Data.SqlClient.SqlConnection(connectionString);
                connection.Open();
                if (connection.State != ConnectionState.Open)
                {
                    return false;
                }
                try
                {
                    var command = new System.Data.SqlClient.SqlCommand("SELECT COUNT(*) FROM " + tableName, connection);
                    var rowCount = (int)command.ExecuteScalar();
                    connection.Close();
                    return true;
                }
                catch
                {
                    connection.Close();
                }
            }
            catch
            {
            }
            return false;
        }
شما می توانید این تست رو هنگام شروع برنامه در فرم آغازین انجام بدید تا ببینید ارتباط بدون مشکل برقرار میشه یا خیر.
که اگر false برگردوند یعنی ارتباط مشکل داره و برای گرفتن آدرس جدید connectionString اقدام کنید و اونم به همین ترتیب تست کنید.
 

جدیدترین ارسال ها

بالا