PDA

View Full Version : مبتدی: سوال در مورد SqlConnection



سیروس مقصودی
شنبه 05 تیر 1395, 11:09 صبح
با سلام

آیا میتوان یک sqlConnection تعریف کرد و کلیه SqlCommand , SqlDataAdapter و ... های موجود در برنامه را به آن وصل کرد ؟ یا بایستی برای هر SqlCommand , SqlDataAdapter که تعریف میکنیم یک sqlConnection تعریف کرد ؟

با تشکر

sds1920
شنبه 05 تیر 1395, 11:13 صبح
شما باید یک شی static از sqlConnection تعریف کنید و هرجای برنامه که خواستید ازش استفاده کنید. ولی توصیه میکنم هرگز و هرگز اینکار رو نکنید. اجازه بدید هرجا که نیاز هست کانکشن باز بشه و پس از اتمام کار بسته بشه.

سیروس مقصودی
شنبه 05 تیر 1395, 11:38 صبح
با تشکر

مگر هر موقع که دستور Open() را صادر کنیم Connection ایجاد شده و هنگامی دستور Close() را صادر کنیم Connection بسته نمیشود ؟
من در برنامه ام اینکار را کرده ام یعنی یک شی static از sqlConnection تعریف کرده ام . من فکر میکردم که برای هر SqlCommand , SqlDataAdapter یک sqlConnection تعریف کرد .
آیا از لحاظ سرعت برنامه میفرمائید که در هرجای برنامه که خواستیم یک sqlConnection ایجاد کنیم . آیا با این شرایط کدنویسی برنامه طولانی نمیشود ؟

با تشکر .

محمد رضا فاتحی
شنبه 05 تیر 1395, 11:38 صبح
شما باید یک شی static از sqlConnection تعریف کنید و هرجای برنامه که خواستید ازش استفاده کنید. ولی توصیه میکنم هرگز و هرگز اینکار رو نکنید. اجازه بدید هرجا که نیاز هست کانکشن باز بشه و پس از اتمام کار بسته بشه.

قسمت اول جوابتون رو قبول دارم...ولی قسمت دوم دلیل عدم استفادتون رو قبول ندارم...خوب وقتی یه متغیر استاتیک از کانکشن تعریف می کنید میتونید هرجا لازم بود بازش کنید هر جا که کارتون تموم شد ببیندیدش...

sds1920
شنبه 05 تیر 1395, 11:45 صبح
قسمت اول جوابتون رو قبول دارم...ولی قسمت دوم دلیل عدم استفادتون رو قبول ندارم...خوب وقتی یه متغیر استاتیک از کانکشن تعریف می کنید میتونید هرجا لازم بود بازش کنید هر جا که کارتون تموم شد ببیندیدش...

علت اینکه میگم کانکشن به این صورت ایجاد نشه این هست که ممکنه جایی کانکشن باز بشه و بنا به دلایلی کانکشن بسته نشه.

sds1920
شنبه 05 تیر 1395, 11:48 صبح
با تشکر

مگر هر موقع که دستور Open() را صادر کنیم Connection ایجاد شده و هنگامی دستور Close() را صادر کنیم Connection بسته نمیشود ؟
من در برنامه ام اینکار را کرده ام یعنی یک شی static از sqlConnection تعریف کرده ام . من فکر میکردم که برای هر SqlCommand , SqlDataAdapter یک sqlConnection تعریف کرد .
آیا از لحاظ سرعت برنامه میفرمائید که در هرجای برنامه که خواستیم یک sqlConnection ایجاد کنیم . آیا با این شرایط کدنویسی برنامه طولانی نمیشود ؟

با تشکر .

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

davidrobert
شنبه 05 تیر 1395, 15:32 عصر
با سلام

آیا میتوان یک sqlConnection تعریف کرد و کلیه SqlCommand , SqlDataAdapter و ... های موجود در برنامه را به آن وصل کرد ؟ یا بایستی برای هر SqlCommand , SqlDataAdapter که تعریف میکنیم یک sqlConnection تعریف کرد ؟

با تشکر

سلام دوست بله میشه یک روش بساز عالی استاد ارجمندم آقا یونس مرباغی پیدا کرده که کد نویسی بسیار کم و همین طور سرعت ارتباط با دیتابیس عالی.
http://sayyehban.blogfa.com/post/24
http://sayyehban.blogfa.com/post/55