أنا أعمل علي فيجوال بيسك 2008 و سيكوال سيرفر
لقد قمت بعمل برنامج دليل تليفون و قد وضعت أولاً تيكست بوكس لإضافة الإسم و لإني قد أضفت قاعدة البيانات عن طريق الداتاسيت فلم أجد داتاتابل للجدول فغيرتها بالكومبوبوكس و أنا الأن أريد
أولاً أن أعرف كيف يتم الإكمال التلقائي في الكومبوبوكس
ثانياً أريد حينما يتم إدخال إسم أن يبحث البرنامج عنه و إذا كان قد سبق إدخاله تظهر رسالة تبين ذلك لكي لا يتم تكراره أو تكرار الإسم إذا رغب المستخدم في ذلك
و شكراً
إلي الأن لم ينتبه إلي أحد و لكني و بالحث في النت وجدت هذا الكود
create PROCEDURE insertEmployee
(@EmpName Varchar (50))
AS
If not exists (select EmpName from Emps Where EmpName=@EmpName)
insert Into Emps Values(@EmpName)
GO
و كود الفيجوال بيسك لم أتمكن منه لأني أعمل طريقة الإتصال بقاعدة البيانات عن طريق الداتاسيت و هو
Private Sub CmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSave.Click
'Connection String
Dim CnnString As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Latex;Data Source=."
'Connection Object
Dim Cnn As New SqlConnection(CnnString)
'a string represents the Stored Procedure
Dim Sqlinsert As String = "insertEmployee"
'Command Object
Dim Cmdinsert As New SqlCommand
Cmdinsert.Connection = Cnn
Cmdinsert.CommandText = Sqlinsert
Cmdinsert.CommandType = CommandType.StoredProcedure
Cmdinsert.Parameters.Add("@EmpName", SqlDbType.VarChar, 50)
Cmdinsert.Parameters(0).Value = txtEmployee.Text
Try
'Open Connection
Cnn.Open()
If Cmdinsert.ExecuteNonQuery = -1 Then
MsgBox("تم إدخال موظف بنفس الإسم مسبقا.")
Else
MsgBox("تم اضافة الموظف بنجاح.")
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
'Close Connection and Free Resources
Cnn.Close()
Cnn.Dispose()
Cnn = Nothing
Cmdinsert.Dispose()
Cmdinsert = Nothing
End Try
End Sub
و قد نفذت البروسيديور و نجح و فعلاً تم عدم إضافة إسم موجود مسبقاً و لكن في كود الفيجوال وجدت أنه إستعان بكود للإتصال بقاعدة البييانات بينما أنا أقوم بالإتصال عن طريق الداتاسيت فهل أجد من يقوم بتعديل هذا الكود بما يتناسب معي
المفضلات