تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] عندى سؤال فى البحب و التعديل و الاضافة مع بعض
#1
Photo 
السلام عليكم شباب عندى سؤال و هو
ازاى اقدر اعمل بحث فى قاعدة البيانات عن اسم الشركة و كود الشركة و فى حالة عدم وجود يتم اضافة و فى حالة الوجود تظهر رسائل تفيد اذا كان يريد التعديل ام لا و  بعد ذلك يتم التعديل فى حالة ان المستخدم ضغط بنعم و هذ الكود لى شغل عليه

كود :
  Dim constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=D:\My Apps\HassanPro\HassanPro\DataB\Database1.mdf;Integrated Security=True;User Instance=True"

    Dim con As New SqlConnection(constr)
   
 If TextBox1.Text = "" Or TextBox2.Text = "" Then
           MsgBox("برجاء ادخل جميع البيانات", MsgBoxStyle.Exclamation, "خطاء")
           TextBox1.Select()
           Exit Sub
           If ConnectionState.Open Then con.Close()
           con.Close()
       End If
       Dim daa As New SqlDataAdapter("select * from Company where (CompanyName=N'" & TextBox1.Text & "')" & " and " & "(CompanyCode='" & TextBox2.Text & "')", con)
       Dim dss As New DataSet
       daa.Fill(dss, "Company")
       Dim msgReturnValue As MsgBoxResult
       If Me.BindingContext(dss, "Company").Count = True Then
           'dg.DataSource = ds.Tables("Company")
           msgReturnValue = MsgBox("عفوأ الاسم الشركة او كود الشركة موجود  ! هل تريد تعديل ام لا ؟", MsgBoxStyle.YesNo)
           If msgReturnValue = MsgBoxResult.Yes Then
               TextBox1.Text = ""
               TextBox2.Text = ""
               TextBox1.Select()
               con.Close()
               Exit Sub
           End If
       Else
           If msgReturnValue = MsgBoxResult.No Then
               TextBox1.Text = ""
               TextBox2.Text = ""
               TextBox1.Select()
               con.Close()
               Exit Sub
           End If
       End If
       Try
           con.Close()
           con.Open()
           Dim da As New SqlDataAdapter("select * from Company", con)
           Dim ds As New DataSet
           Dim cm As New SqlCommandBuilder(da)
           da.Fill(ds, "Company")
           Dim dr As DataRow = ds.Tables("Company").NewRow
           dr.Item("CompanyName") = TextBox1.Text
           dr.Item("CompanyCode") = TextBox2.Text
           ds.Tables("Company").Rows.Add(dr)
           da.Update(ds, "Company")
           con.Close()
           MsgBox("تم الاضافة بنجاح", MsgBoxStyle.Exclamation, "HassanPro")
           'Form3.MdiParent = Form1
           'Form3.Show()
           'Form3.Label4.Text = TextBox1.Text
           'Form3.Label6.Text = TextBox2.Text
           'TextBox1.Text = ""
           'TextBox2.Text = ""
           'Me.Hide()
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
       'MsgBox("عفؤا يوجد خطاء برجاء اعادة ادخل البيانات فى وقت لاحقا", MsgBoxStyle.Exclamation, "HassanPro")
       'TextBox1.Select()
       Exit Sub
 مع سؤال اخر ازاى  استخدام كل الاكود دى مع BackgroundWorker1 علشان البرنامج يكون فى حالة استجابة عطول
و اخر سؤال عندى عايز المستخدم و هو بيكتب يظهر الاقترحات زاى جوجل كده لما اكتب اسم كتاب مثلا 
و شكرا لكم شبابا Big Grin
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:
#2
جرب هاد التعديل وخبرني
كود :
Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=D:\My Apps\HassanPro\HassanPro\DataB\Database1.mdf;Integrated Security=True;User Instance=True")



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        textboxAutoCompte(TextBox1)
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If TextBox1.Text.Trim = "" Or TextBox2.Text.Trim = "" Then
            MsgBox("برجاء ادخل جميع البيانات", MsgBoxStyle.Exclamation, "خطاء")
            TextBox1.Select()
            Exit Sub
        End If


        Dim tbl As New DataTable

        Dim daa As New SqlDataAdapter("select * from Company where (CompanyName=@cname) ", con)
        daa.SelectCommand.Parameters.AddWithValue("@cname", TextBox1.Text)
        daa.Fill(tbl)


        If tbl.Rows.Count > 0 Then

            Dim msgReturnValue As MsgBoxResult = MsgBox("عفوأ الاسم الشركة او كود الشركة موجود  ! هل تريد تعديل ام لا ؟", MsgBoxStyle.YesNo)
            If msgReturnValue = MsgBoxResult.Yes Then
                Dim cmdUpdate As New SqlCommand("UPDATE Company SET CompanyCode=@ccode WHERE (CompanyName=@cname)", con)
                cmdUpdate.Parameters.AddWithValue("@ccode", TextBox2.Text)
                cmdUpdate.Parameters.AddWithValue("@cname", TextBox1.Text)
                If Not ConnectionState.Open Then con.Open()
                Dim retUpdate As Integer = cmdUpdate.ExecuteNonQuery
                con.Close()

                If retUpdate > 0 Then
                    MsgBox("تم التعديل بنجاح", MsgBoxStyle.Exclamation, "HassanPro")
                End If

                TextBox1.Text = ""
                TextBox2.Text = ""
                TextBox1.Select()

                Exit Sub

            Else
                TextBox1.Text = ""
                TextBox2.Text = ""
                TextBox1.Select()

                Exit Sub
            End If

        Else

            Dim cmdInsert As New SqlCommand("insert into Company (CompanyName, CompanyCode) values (@cname, @ccode)", con)
            cmdInsert.Parameters.AddWithValue("@cname", TextBox1.Text)
            cmdInsert.Parameters.AddWithValue("@ccode", TextBox2.Text)
            If Not ConnectionState.Open Then con.Open()
            Dim retInsert As Integer = cmdInsert.ExecuteNonQuery
            con.Close()

            If retInsert > 0 Then
                MsgBox("تم الاضافة بنجاح", MsgBoxStyle.Exclamation, "HassanPro")
                textboxAutoCompte(TextBox1)

            End If

            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox1.Select()

        End If


    End Sub


    Sub textboxAutoCompte(ByVal tb As TextBox)
        Dim dt As New DataTable
        Dim ret As Integer = New SqlDataAdapter("Select CompanyName From Company", con).Fill(dt)

        Dim MySource As New AutoCompleteStringCollection()
        For Each s In dt.AsEnumerable.Cast(Of DataRow).Select(Function(r) r("CompanyName")).ToArray()
            MySource.Add(s)
        Next
        With tb
            .AutoCompleteCustomSource = MySource
            .AutoCompleteMode = AutoCompleteMode.SuggestAppend
            .AutoCompleteSource = AutoCompleteSource.CustomSource
        End With

    End Sub
الرد }}}
تم الشكر بواسطة: alims
#3
شكرا لك اخي عالسرعة الاجابة
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:
#4
ياريت يا اخى تشرح الكود بعد اذنك
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:
#5
يا ليت تحدد الجزء يلي محتاج توضيح.
الرد }}}
تم الشكر بواسطة:
#6
عندى استفسار اخى و هو
هذا الكود يقوم بعرض كل البيانات فى تكست و هذا  صحيح و الكود يعمل بنجاح
كود :
   Sub textboxAutoCompte(ByVal tb As TextBox)
       Dim dt As New DataTable
       Dim ret As Integer = New SqlDataAdapter("Select CompanyName From Company", con).Fill(dt)

       Dim MySource As New AutoCompleteStringCollection()
       For Each s In dt.AsEnumerable.Cast(Of DataRow).Select(Function(r) r("CompanyName")).ToArray()
           MySource.Add(s)
       Next
       With tb
           .AutoCompleteCustomSource = MySource
           .AutoCompleteMode = AutoCompleteMode.SuggestAppend
           .AutoCompleteSource = AutoCompleteSource.CustomSource
       End With

ولكن انا عندى اتنين تكست بوكس واحد اسم الشركة و التانى المدير 
السؤال هنا ازاى استخدام الكود لى فوق ده مع الاتنين تكست بوكس بشرط
ان لو كتب اسم الشركة  يظهر اسم المدير فى التكست التانى لوحدو و العكس صحيح 
يعنى برضو لو كتبت اسم الشركة يظهر اسم المدير لوحدو
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:
#7
ما هو هذى المشكلة شباب ؟؟؟؟
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم