عندى سؤال فى البحب و التعديل و الاضافة مع بعض - alims - 20-12-15
السلام عليكم شباب عندى سؤال و هو
ازاى اقدر اعمل بحث فى قاعدة البيانات عن اسم الشركة و كود الشركة و فى حالة عدم وجود يتم اضافة و فى حالة الوجود تظهر رسائل تفيد اذا كان يريد التعديل ام لا و بعد ذلك يتم التعديل فى حالة ان المستخدم ضغط بنعم و هذ الكود لى شغل عليه
كود :
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 علشان البرنامج يكون فى حالة استجابة عطول
و اخر سؤال عندى عايز المستخدم و هو بيكتب يظهر الاقترحات زاى جوجل كده لما اكتب اسم كتاب مثلا
و شكرا لكم شبابا
RE: عندى سؤال فى البحب و التعديل و الاضافة مع بعض - hamada558 - 20-12-15
جرب هاد التعديل وخبرني
كود :
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
RE: عندى سؤال فى البحب و التعديل و الاضافة مع بعض - alims - 21-12-15
شكرا لك اخي عالسرعة الاجابة
RE: عندى سؤال فى البحب و التعديل و الاضافة مع بعض - alims - 22-12-15
ياريت يا اخى تشرح الكود بعد اذنك
RE: عندى سؤال فى البحب و التعديل و الاضافة مع بعض - hamada558 - 22-12-15
يا ليت تحدد الجزء يلي محتاج توضيح.
RE: عندى سؤال فى البحب و التعديل و الاضافة مع بعض - alims - 17-01-16
عندى استفسار اخى و هو
هذا الكود يقوم بعرض كل البيانات فى تكست و هذا صحيح و الكود يعمل بنجاح
كود :
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
ولكن انا عندى اتنين تكست بوكس واحد اسم الشركة و التانى المدير
السؤال هنا ازاى استخدام الكود لى فوق ده مع الاتنين تكست بوكس بشرط
ان لو كتب اسم الشركة يظهر اسم المدير فى التكست التانى لوحدو و العكس صحيح
يعنى برضو لو كتبت اسم الشركة يظهر اسم المدير لوحدو
RE: عندى سؤال فى البحب و التعديل و الاضافة مع بعض - alims - 18-01-16
ما هو هذى المشكلة شباب ؟؟؟؟
|