المشاركات : 536
المواضيع 182
الإنتساب : Mar 2016
السمعة :
19
الشكر: 652
تم شكره 264 مرات في 171 مشاركات
السلام عليكم ورحمة الله
اسفسر عن الطريقه الصحيحه في التعامل مع ل BackgroundWorker او Threading
عندي كود شغال تمام بس المشكله عند عمل الكود يبحث في قاعدة البيانات واذا القاعدة كبيره يعلق البرنامج ويتاخر
بعد اذنكم محتاج الطريقه لصحيحه للتعامل مع الكود بدون ما يحصل هناك اي تعليق اي توقف
الكود هذا هو
كود :
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
If contestnx = "All Asian" And Continentx = "AS" and WORK.Text = "AS" And ban.Text = "160M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "AS" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "2"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "160M" Then
Points.Text = "9"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "6"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "40M" or ban.Text = "20M" Or ban.Text = "15M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "NA" Or Continentx = "SA" Or Continentx = "EU" Or Continentx = "OC" And WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" Or WORK.Text = "NA" Then
Points.Text = "0"
ElseIf contestnx = "All Asiant" And WORKinfo.PFX.Text = PFXX Then
Points.Text = "0"
End If
بارك الله فيكم وجزاكم الف خير
المشاركات : 669
المواضيع 88
الإنتساب : Aug 2016
السمعة :
97
الشكر: 798
تم شكره 1154 مرات في 488 مشاركات
(04-10-17, 04:33 PM)dubai.eig كتب : السلام عليكم ورحمة الله
اسفسر عن الطريقه الصحيحه في التعامل مع ل BackgroundWorker او Threading
عندي كود شغال تمام بس المشكله عند عمل الكود يبحث في قاعدة البيانات واذا القاعدة كبيره يعلق البرنامج ويتاخر
بعد اذنكم محتاج الطريقه لصحيحه للتعامل مع الكود بدون ما يحصل هناك اي تعليق اي توقف
الكود هذا هو
كود :
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
If contestnx = "All Asian" And Continentx = "AS" and WORK.Text = "AS" And ban.Text = "160M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "AS" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "2"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "160M" Then
Points.Text = "9"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "6"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "40M" or ban.Text = "20M" Or ban.Text = "15M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "NA" Or Continentx = "SA" Or Continentx = "EU" Or Continentx = "OC" And WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" Or WORK.Text = "NA" Then
Points.Text = "0"
ElseIf contestnx = "All Asiant" And WORKinfo.PFX.Text = PFXX Then
Points.Text = "0"
End If
بارك الله فيكم وجزاكم الف خير
قم باضافه backgroundworker الى المشروع
كود :
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
If contestnx = "All Asian" And Continentx = "AS" And WORK.Text = "AS" And ban.Text = "160M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "AS" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "2"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "160M" Then
Points.Text = "9"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "6"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "40M" Or ban.Text = "20M" Or ban.Text = "15M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "NA" Or Continentx = "SA" Or Continentx = "EU" Or Continentx = "OC" And WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" Or WORK.Text = "NA" Then
Points.Text = "0"
ElseIf contestnx = "All Asiant" And WORKinfo.PFX.Text = PFXX Then
Points.Text = "0"
End Sub
و في كود ال button استخدم الكود الاتي لتشغيل البحث
كود :
BackgroundWorker1.RunWorkerAsync
تستطيع ايضا وضع صوره GIF تدل على ان عمليه البحث جاريه
اة مجرد كتابه عن طريق label
اذا اردت فعل ذلك قم بعرض الصوره او النص عند بدء العمليه
و قم بأخفاءها عند انتهاء عمل البحث في backgroundworker في الكود الاتي :
كود :
Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
label1.Visible =False
End Sub
المشاركات : 536
المواضيع 182
الإنتساب : Mar 2016
السمعة :
19
الشكر: 652
تم شكره 264 مرات في 171 مشاركات
(04-10-17, 09:56 PM)Rabeea Qbaha كتب : (04-10-17, 04:33 PM)dubai.eig كتب : السلام عليكم ورحمة الله
اسفسر عن الطريقه الصحيحه في التعامل مع ل BackgroundWorker او Threading
عندي كود شغال تمام بس المشكله عند عمل الكود يبحث في قاعدة البيانات واذا القاعدة كبيره يعلق البرنامج ويتاخر
بعد اذنكم محتاج الطريقه لصحيحه للتعامل مع الكود بدون ما يحصل هناك اي تعليق اي توقف
الكود هذا هو
كود :
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
If contestnx = "All Asian" And Continentx = "AS" and WORK.Text = "AS" And ban.Text = "160M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "AS" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "2"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "160M" Then
Points.Text = "9"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "6"
ElseIf contestnx = "All Asiant" And Continentx = "AS" and WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "40M" or ban.Text = "20M" Or ban.Text = "15M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "NA" Or Continentx = "SA" Or Continentx = "EU" Or Continentx = "OC" And WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" Or WORK.Text = "NA" Then
Points.Text = "0"
ElseIf contestnx = "All Asiant" And WORKinfo.PFX.Text = PFXX Then
Points.Text = "0"
End If
بارك الله فيكم وجزاكم الف خير
قم باضافه backgroundworker الى المشروع
كود :
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
If contestnx = "All Asian" And Continentx = "AS" And WORK.Text = "AS" And ban.Text = "160M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "AS" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "2"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "160M" Then
Points.Text = "9"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "80M" Or ban.Text = "10M" Then
Points.Text = "6"
ElseIf contestnx = "All Asiant" And Continentx = "AS" And WORK.Text = "NA" Or WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" And ban.Text = "40M" Or ban.Text = "20M" Or ban.Text = "15M" Then
Points.Text = "3"
ElseIf contestnx = "All Asiant" And Continentx = "NA" Or Continentx = "SA" Or Continentx = "EU" Or Continentx = "OC" And WORK.Text = "SA" Or WORK.Text = "EU" Or WORK.Text = "OC" Or WORK.Text = "NA" Then
Points.Text = "0"
ElseIf contestnx = "All Asiant" And WORKinfo.PFX.Text = PFXX Then
Points.Text = "0"
End Sub
و في كود ال button استخدم الكود الاتي لتشغيل البحث
كود :
BackgroundWorker1.RunWorkerAsync
تستطيع ايضا وضع صوره GIF تدل على ان عمليه البحث جاريه
اة مجرد كتابه عن طريق label
اذا اردت فعل ذلك قم بعرض الصوره او النص عند بدء العمليه
و قم بأخفاءها عند انتهاء عمل البحث في backgroundworker في الكود الاتي :
كود :
Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
label1.Visible =False
End Sub
شكرا على الرد
بس غريبه ان الكود ما اشتغل
عندما احط الكود في ال button بدون backgroundworker يكون شغال تمام
بس عندما احط الكود في ال backgroundworker لا يعمل
كذا الكود يكون شغال تمام
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
End Sub
بس اذا حطيته في BackgroundWorker1_DoWork لا يعمل والا يطلع لي رساله غلط
كود :
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
Label14.Visible =False
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
BackgroundWorker1.RunWorkerAsync
End Sub
شكرا
المشاركات : 536
المواضيع 182
الإنتساب : Mar 2016
السمعة :
19
الشكر: 652
تم شكره 264 مرات في 171 مشاركات
هل ال BackgroundWorker لا يعمل مع SQLite ؟
غريبه
المشاركات : 176
المواضيع 1
الإنتساب : Oct 2017
السمعة :
51
الشكر: 0
تم شكره 267 مرات في 175 مشاركات
PHP كود :
Dim cmd As New SQLiteCommand("SELECT COUNT(id) FROM [DB] WHERE [PFX]=@param1 AND [Ba]=@param2", con) cmd.Parameters.AddWithValue("@param1", Trim(PFX.Text)) cmd.Parameters.AddWithValue("@param2", ban.Text) If con.State <> ConnectionState.Open Then con.Open() If cmd.ExecuteScalar > 0 Then Multi.Text = PFX.Text Multi.BackColor = Nothing Else Multi.Text = PFX.Text Multi.BackColor = SystemColors.Info End If con.Close()
المشاركات : 536
المواضيع 182
الإنتساب : Mar 2016
السمعة :
19
الشكر: 652
تم شكره 264 مرات في 171 مشاركات
(05-10-17, 12:24 AM)a.ahmed كتب : PHP كود :
Dim cmd As New SQLiteCommand("SELECT COUNT(id) FROM [DB] WHERE [PFX]=@param1 AND [Ba]=@param2", con) cmd.Parameters.AddWithValue("@param1", Trim(PFX.Text)) cmd.Parameters.AddWithValue("@param2", ban.Text) If con.State <> ConnectionState.Open Then con.Open() If cmd.ExecuteScalar > 0 Then Multi.Text = PFX.Text Multi.BackColor = Nothing Else Multi.Text = PFX.Text Multi.BackColor = SystemColors.Info End If con.Close()
شكرا عزيزي
بس نفس المشكله
في ال button شغال تمام
وفي ال backgroundworker غير شغال
غريبه
المشاركات : 176
المواضيع 1
الإنتساب : Oct 2017
السمعة :
51
الشكر: 0
تم شكره 267 مرات في 175 مشاركات
PHP كود :
Private con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Enabled = False bg1.RunWorkerAsync() End Sub
Private WithEvents bg1 As New System.ComponentModel.BackgroundWorker Private Sub bg1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bg1.DoWork Dim cmd As New SQLiteCommand("SELECT COUNT(id) FROM [DB] WHERE [PFX]=@param1 AND [Ba]=@param2", con) cmd.Parameters.AddWithValue("@param1", Trim(PFX.Text)) cmd.Parameters.AddWithValue("@param2", ban.Text) If con.State <> ConnectionState.Open Then con.Open() If cmd.ExecuteScalar > 0 Then Multi.Invoke(Sub() Multi.Text = PFX.Text) Multi.BackColor = Nothing Else Multi.Text = PFX.Text Multi.BackColor = SystemColors.Info End If con.Close() Button1.Invoke(Sub() Button1.Enabled = True) End Sub
المشاركات : 536
المواضيع 182
الإنتساب : Mar 2016
السمعة :
19
الشكر: 652
تم شكره 264 مرات في 171 مشاركات
05-10-17, 08:35 AM
(آخر تعديل لهذه المشاركة : 05-10-17, 09:05 AM {2} بواسطة dubai.eig.)
(05-10-17, 12:51 AM)a.ahmed كتب : PHP كود :
Private con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Enabled = False bg1.RunWorkerAsync() End Sub
Private WithEvents bg1 As New System.ComponentModel.BackgroundWorker Private Sub bg1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bg1.DoWork Dim cmd As New SQLiteCommand("SELECT COUNT(id) FROM [DB] WHERE [PFX]=@param1 AND [Ba]=@param2", con) cmd.Parameters.AddWithValue("@param1", Trim(PFX.Text)) cmd.Parameters.AddWithValue("@param2", ban.Text) If con.State <> ConnectionState.Open Then con.Open() If cmd.ExecuteScalar > 0 Then Multi.Invoke(Sub() Multi.Text = PFX.Text) Multi.BackColor = Nothing Else Multi.Text = PFX.Text Multi.BackColor = SystemColors.Info End If con.Close() Button1.Invoke(Sub() Button1.Enabled = True) End Sub
تسلم تعبتك معاي
نفس المشكله
عندما اضغط على Button1_Click
ما يعطيني الناتج فقط يشغل لي امر تغيير اللون Multi.BackColor = SystemColors.Info
اما الناتج الثاني ما يطلع
Multi.Text = PFX.Text
احترت في الموضوع
للعلم جربة كود ثاني في ال BackgroundWorker
واشتغل تمام
هذا الكود
كود :
conXC.Close()
Try
conXC.Open()
Dim cmd As New SQLiteCommand("select * from DBqsos", conXC)
Dim rd As SQLiteDataReader
rd = cmd.ExecuteReader
While rd.Read
ComboBox2.Items.Add(rd(2))
End While
conXC.Close()
Catch ex As Exception
MsgBox(ex.Message)
conXC.Close()
End Try
conXC.Close()
المشاركات : 536
المواضيع 182
الإنتساب : Mar 2016
السمعة :
19
الشكر: 652
تم شكره 264 مرات في 171 مشاركات
اخيرا اشتغل الكود
مع البحث حصلت موضوع يتكلم عن BackgroundWorker
طلع معاي الكود كذا
كود :
Private Sub checkstatus()
Dim con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim com As String = String.Format("Select PFX From DB Where PFX='{0}' and Ba = '" & ban.Text & "'", Trim(PFX.Text))
Dim ds = New DataSet
Dim da = New SQLiteDataAdapter(com, con)
da.fill(ds)
If (ds.Tables(0).Rows.Count > 0) Then
Multi.Text = PFX.Text
Else
Multi.Text = PFX.Text
Multi.BackColor = SystemColors.Info
End If
End Sub
Private Delegate Sub checkstatusDel()
Private WithEvents bg1 As New System.ComponentModel.BackgroundWorker
Private Sub bg1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bg1.DoWork
Invoke(New checkstatusDel(AddressOf checkstatus))
End Sub
واشتغل تمام
ضفت فقط
كود :
Private Delegate Sub checkstatusDel()
و
كود :
Invoke(New checkstatusDel(AddressOf checkstatus))
بصراحه ما عرفت سبب ليش ما اشتغل الكود قبل ولماذا اشتغل الان مع التغييرات الواضحه فوق
المشاركات : 176
المواضيع 1
الإنتساب : Oct 2017
السمعة :
51
الشكر: 0
تم شكره 267 مرات في 175 مشاركات
PHP كود :
Private con As New SQLiteConnection(String.Format("Data Source= {0}\DB" & DBT & ".s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Enabled = False bg1.RunWorkerAsync() End Sub
Private WithEvents bg1 As New System.ComponentModel.BackgroundWorker Private Sub bg1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bg1.DoWork Dim cmd As New SQLiteCommand("SELECT COUNT(id) FROM [DB] WHERE [PFX]=@param1 AND [Ba]=@param2", con) cmd.Parameters.AddWithValue("@param1", Trim(PFX.Text)) cmd.Parameters.AddWithValue("@param2", ban.Text) If con.State <> ConnectionState.Open Then con.Open() If cmd.ExecuteScalar > 0 Then Multi.Invoke(Sub() Multi.Text = PFX.Text) Multi.BackColor = Nothing Else Multi.Invoke(Sub() Multi.Text = PFX.Text) Multi.BackColor = SystemColors.Info End If con.Close() Button1.Invoke(Sub() Button1.Enabled = True) End Sub
|