السلام عليكم ورحمة الله
يوجد عندي TEXTBOX عندما اكتب في اسم اي شخص يقوم بالبحث في قاعدة البيانات هل الاسم موجود او لا
في حالت ان موجود يكتب لي ان هذا الاسم موجود
المشكله الان مثلا اذا كتبت -- كمثال فقط اذا كتبت
محمد يقولي هذا الاسم موجود
اذا مثلا مسحت حرف ليصبح
حمد لا يزال يقولي حمد موجود وللعلم حمد غير موجود هذا الاسم
يعني ما يحتاج امسح الاسم كامل فقط امسح حرف
كمثال كتبت
AA9AA يطلع لي ان موجود في القاعدة حبيت اعدل في الاسم وامسح حرف واحد ليصبح AA9A هذا الاسم غير موجود في القاعدة بس Label لا يزال كاتب ان موجدود
مثال
هنا الاسم موجود في القاعدة
[
attachment=15649]
A41Q
مسحت حرف
Q
[
attachment=15650]
غير موجود في القاعدة بس كاتب لي ان موجود طبعا محتاج كود يعمل تحديث لل TEXTBOX ويبحث من جديد
هنا المثال لبرنامج اخر شغال صح
[
attachment=15651]
[
attachment=15652]
حاولت ابحث عن طريقه بس ما حصلت الحل
بارك الله فيكم وشكرا من جديد
(09-10-17, 09:53 AM)a.ahmed كتب : [ -> ]PHP كود :
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
If IsExist(Me.TextBox1.Text) Then
MsgBox("Yes")
Else
MsgBox("No")
End If
End Sub
Function IsExist(ByVal theName As String) As Boolean
Dim lst As New List(Of String)
lst.Add("[NAME] LIKE '" & theName.Trim & "'")
lst.Add("[NAME] LIKE '% " & theName.Trim & "'")
lst.Add("[NAME] LIKE '" & theName.Trim & " %'")
lst.Add("[NAME] LIKE '% " & theName.Trim & " %'")
Dim lk As String = String.Join(" OR ", lst)
Dim cmd As New OleDbCommand(" SELECT COUNT(Name) FROM [Table1] WHERE " & lk, con)
cmd.Parameters.AddWithValue("@p1", TextBox1.Text)
If con.State <> ConnectionState.Open Then con.Open()
Dim cnt = cmd.ExecuteScalar
con.Close()
If cnt > 0 Then
Return True
Else
Return False
End If
End Function
السلام عليكم
اولا شكرا لك على الرد حاولت اضبط الكود بس ما مشى معاي
بعد اذنك هذا الكود اللي استخدمه كيف اربطه مع الكود الخاص بك
كود :
Dim conXCX As New SQLiteConnection(String.Format("Data Source= {0}\DB.s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim cmdXX As New SQLiteCommand("SELECT CALLop FROM [DBqsos] WHERE [CALLop]=@param1 AND [Band]=@param2", conXCX)
cmdXX.Parameters.AddWithValue("@param1", Trim(calls.Text))
cmdXX.Parameters.AddWithValue("@param2", bands.Text)
If conXCX.State <> ConnectionState.Open Then conXCX.Open()
If cmdXX.ExecuteScalar > 0 Then
Label14.Text = "DOUBLE"
Label14.BackColor = Color.Red
End If
وشكرا لك
(10-10-17, 09:30 AM)a.ahmed كتب : [ -> ]PHP كود :
Dim conXCX As New SQLiteConnection(String.Format("Data Source= {0}\DB.s3db", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)))
Dim cmdXX As New SQLiteCommand("SELECT COUNT(*) FROM [DBqsos] WHERE [CALLop]=@param1 AND [Band]=@param2", conXCX)
cmdXX.Parameters.AddWithValue("@param1", Trim(calls.Text))
cmdXX.Parameters.AddWithValue("@param2", bands.Text)
If conXCX.State <> ConnectionState.Open Then conXCX.Open()
If cmdXX.ExecuteScalar > 0 Then
Label14.Text = "DOUBLE"
Label14.BackColor = Color.Red
Else
Label14.Text = ""
Label14.BackColor = Nothing
End If
شكرا شكرا استاذ احمد بارك الله فيك احسنت
طمعان بكرمك بارك الله فيك
سؤال اخير
كيف اعمل تحديث لتيبل واحد مرتين في نفس الاستعمال
مثلا
كود :
Dim cmdlid As New SQLiteCommand("", conlid)
cmdlid =("UPDATE DBSetting SET score=@score WHERE contestnyear=@contestnyear ", conlid)
conlid.Open()
cmdlid.Parameters.AddWithValue("@score", xtotelall)
cmdlid.Parameters.AddWithValue("@contestnyear", contestnyearx)
Dim reader = cmdlid.ExecuteNonQuery()
cmdlid =("UPDATE DBSetting SET score=@score WHERE contestnyear=@contestnyear ", conlid)
cmdlid2.Parameters.AddWithValue("@score", xtotelall2)
cmdlid2.Parameters.AddWithValue("@contestnyear", contestnyearx)
cmdlid2.ExecuteNonQuery()
conlid.Close()
حاولت بالشكل التالي بس طلع لي غلط
محتاج اضيف في خانة
score عدد وفي المرهع الثانيه عدد اخر تحديث مرتين
cmdlid.Parameters.AddWithValue("@score", xtotelall)
cmdlid2.Parameters.AddWithValue("@score", xtotelall2)
ما اعرف هل يجوز او لا التحديث بهذه الطريقه
وشكرا
(10-10-17, 10:36 AM)a.ahmed كتب : [ -> ]PHP كود :
Dim cmdlid As New SQLiteCommand(" UPDATE [DBSetting] SET [score]=([score]+@score) WHERE ([contestnyear]=@contestnyear) ", conlid)
cmdlid.Parameters.AddWithValue("@score", xtotelall + xtotelall2)
cmdlid.Parameters.AddWithValue("@contestnyear", contestnyearx)
If conlid.State <> ConnectionState.Open Then conlid.Open()
Dim ret As Integer = cmdlid.ExecuteNonQuery()
conlid.Close()
If ret > 0 Then
MsgBox("Updated.", MsgBoxStyle.Information)
Else
MsgBox("Nothing.", MsgBoxStyle.Exclamation)
End If
احسنت يا بطل بارك الله فيك
