(15-07-17, 12:58 PM)sendbad100 كتب : هلا وغلا اخي العزيز
اذا كنت تتصل بقاعدة بيانات على سيرفر. او حتى شبكة محلية
لازم :- وهو الافضل ان تفتح اتصال وتغلقة عند كل استعلام. حتى تتجنب مشاكل انقطاع الشبكة والبطئ. وغيرها .
اما اذا كنت على نفس الجهاز فيمكن ان تتصل مع بداية تشغيل البرنامج ويكفيك ذلك حتى تغلقة.
نعم .. بارك الله فيك اخي سندباد
فهذا ما قمت به وفضلته بالفعل
قمت فقط بالاستغناء عن بعض الاستعلامات التي قد تكون زائده عن الحاجه او ترفيهية نوعا ما حتى لا يبدو البرنامج بطيئا
جزاك الله خيرا ,,
(15-07-17, 10:35 PM)أبوبكر سويدان كتب : لتقطع الشك باليقين، اكتب كوداً يفحص حالة الاتصال قبل تنفيذ الاستعلامات.
إن كان متصلاً، نفذ استعلاماتك.
إن لم يكن متصلاً، اتصل ثم نفذ تعليماتك.
بالفعل الكود يقوم بمحاولة الاتصال أولا فان اتصل قام بتنفيذ الاستعلام ولا فانه لايقوم بالاستعلام ..
[quote pid='102620' dateline='1500107565']
ذلك صحيح لأنك تتصل عن بعد. ولا يحدث مع أكسس لأنه في نفس الجهاز.
لكن مع ذلك، لا تعتمد على أكسس كثيراً، فستخذلك يوماً ما، وهذا عن تجربة.
نعم اتفق معك اخي ابو بكر لكنقاعدة البيانات الاكسيس لها استخداماتها البسيطه لبرنامج بسيط لا يستخدم بيانات كثيرة
لكن في حالة ان تطور الأمر الى برنامج ببيانات كثيرة واحجام كبيرة فبالفعل الاكسيس لن تفي بالغرض في هذا الوقت
جزاك الله خيرا اخي ابو بكر
[/quote]
(15-07-17, 01:15 PM)silverlight كتب : لست خبير قواعد بيانات
لكن ربما الكلاس التالي يساعدك
PHP كود :
Imports System.Data.SqlClient
Public Class CairoConnection
Implements IDisposable
Private _disposed As Boolean
Private _conn As SqlConnection
Private _command As SqlCommand
Public Sub New(connectionString As String)
_conn = New SqlConnection(connectionString)
_command = New SqlCommand
End Sub
Public ReadOnly Property Connection As SqlConnection
Get
Return _conn
End Get
End Property
Public ReadOnly Property Command As SqlCommand
Get
Return _command
End Get
End Property
Private Sub CloseConnection()
_conn.Close()
End Sub
Private Sub DisposeSqlObjects()
CloseConnection()
If _conn IsNot Nothing Then
_conn.Dispose()
_conn = Nothing
End If
If _command IsNot Nothing Then
_command.Dispose()
_command = Nothing
End If
End Sub
Protected Overridable Sub Dispose(disposing As Boolean)
If _disposed Then
Return
End If
If disposing Then
DisposeSqlObjects()
End If
_disposed = True
End Sub
Public Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
' GC.SuppressFinalize(Me)
End Sub
End Class
الإستخدام
او استخدم الكلاس كما يحلو لك أكيد أنت أكثر خبرة مني في قواعد البيانات
PHP كود :
Dim s As String = "Your Connection" ' read connection from ConfigurationManager
Using conn As New CairoConnection(s)
' do something
Dim queryString As String = "any query String"
conn.Connection.Open()
conn.Command.CommandText = queryString
conn.Command.CommandType = CommandType.Text
conn.Command.ExecuteNonQuery()
End Using
متهيألي تقدر تكتب كل أوامر الاستعلام في الكلاس
وتنفذها مرة واحدة
تسلم ايدك أستاذي الكبير silverlight
كلاس رائع من شخص أروع
الله لا يحرمنا من وجودك